include("../../TUG/src/TUG.jl") using .TUG function main() # **** GRID **** rows::Int = 500 cols::Int = 500 alphaX = fill(0.7, rows, cols) alphaY = fill(0.7, rows, cols) alphaX[201:300, 201:300] .= 0.4 alphaY[201:300, 201:300] .= 0.4 grid::Grid = Grid{Float64}(rows, cols, alphaX, alphaY) concentrations = fill(0.0, rows, cols) concentrations[51:150, 51:150] .= 1500 concentrations[351:450, 351:450] .= 1200 concentrations[251, 251] = 2000 setConcentrations!(grid, concentrations) # **** BOUNDARY **** bc::Boundary = Boundary(grid) setBoundarySideClosed!(bc, LEFT) setBoundarySideClosed!(bc, RIGHT) setBoundarySideClosed!(bc, TOP) setBoundarySideClosed!(bc, BOTTOM) # **** SIMULATION **** simulation::Simulation = Simulation(grid, bc, FTCS) simulation = setTimestep(simulation, 2.5) simulation = setIterations(simulation, 300) simulation = setOutputConsole(simulation, CONSOLE_OUTPUT_OFF) simulation = setOutputCSV(simulation, CSV_OUTPUT_ON) # **** RUN SIMULATION **** elapsed_time_ns = (@elapsed TUG.run(simulation)) * 1e9 println("Simulation Time (nanoseconds): ", elapsed_time_ns) end main()