41 lines
1.2 KiB
Julia
41 lines
1.2 KiB
Julia
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()
|