diff --git a/julia/tests/cpp_bench/BTCS_100_100_1000.cpp b/julia/tests/cpp_bench/BTCS_100_100_1000.cpp index 632c5a0..1af59b6 100644 --- a/julia/tests/cpp_bench/BTCS_100_100_1000.cpp +++ b/julia/tests/cpp_bench/BTCS_100_100_1000.cpp @@ -31,7 +31,7 @@ int main(int argc, char *argv[]) Simulation simulation = Simulation(grid, bc); simulation.setTimestep(0.05); simulation.setIterations(1000); - simulation.setOutputCSV(CSV_OUTPUT_VERBOSE); + simulation.setOutputCSV(CSV_OUTPUT_ON); simulation.setOutputConsole(CONSOLE_OUTPUT_OFF); // **** RUN SIMULATION **** diff --git a/julia/tests/cpp_bench/BTCS_1024_1000_100.cpp b/julia/tests/cpp_bench/BTCS_1024_1000_100.cpp index db5d119..bd5818a 100644 --- a/julia/tests/cpp_bench/BTCS_1024_1000_100.cpp +++ b/julia/tests/cpp_bench/BTCS_1024_1000_100.cpp @@ -37,7 +37,7 @@ int main(int argc, char *argv[]) Simulation simulation = Simulation(grid, bc); simulation.setTimestep(0.01); simulation.setIterations(100); - simulation.setOutputCSV(CSV_OUTPUT_VERBOSE); + simulation.setOutputCSV(CSV_OUTPUT_ON); simulation.setOutputConsole(CONSOLE_OUTPUT_OFF); // **** RUN SIMULATION **** diff --git a/julia/tests/cpp_bench/BTCS_1_20_100.cpp b/julia/tests/cpp_bench/BTCS_1_20_100.cpp index 651c5bd..a857fc8 100644 --- a/julia/tests/cpp_bench/BTCS_1_20_100.cpp +++ b/julia/tests/cpp_bench/BTCS_1_20_100.cpp @@ -26,7 +26,7 @@ int main(int argc, char *argv[]) Simulation simulation = Simulation(grid, bc); simulation.setTimestep(0.1); simulation.setIterations(100); - simulation.setOutputCSV(CSV_OUTPUT_VERBOSE); + simulation.setOutputCSV(CSV_OUTPUT_ON); simulation.setOutputConsole(CONSOLE_OUTPUT_OFF); // **** RUN SIMULATION **** diff --git a/julia/tests/cpp_bench/BTCS_1_45_75000.cpp b/julia/tests/cpp_bench/BTCS_1_45_75000.cpp index 5514c0f..209e142 100644 --- a/julia/tests/cpp_bench/BTCS_1_45_75000.cpp +++ b/julia/tests/cpp_bench/BTCS_1_45_75000.cpp @@ -28,7 +28,7 @@ int main(int argc, char *argv[]) Simulation simulation = Simulation(grid, bc); simulation.setTimestep(1.23); simulation.setIterations(75000); - simulation.setOutputCSV(CSV_OUTPUT_VERBOSE); + simulation.setOutputCSV(CSV_OUTPUT_ON); simulation.setOutputConsole(CONSOLE_OUTPUT_OFF); // **** RUN SIMULATION **** diff --git a/julia/tests/cpp_bench/BTCS_20_20_500.cpp b/julia/tests/cpp_bench/BTCS_20_20_500.cpp index a509880..8038c4d 100644 --- a/julia/tests/cpp_bench/BTCS_20_20_500.cpp +++ b/julia/tests/cpp_bench/BTCS_20_20_500.cpp @@ -30,7 +30,7 @@ int main(int argc, char *argv[]) Simulation simulation = Simulation(grid, bc); simulation.setTimestep(0.1); simulation.setIterations(500); - simulation.setOutputCSV(CSV_OUTPUT_VERBOSE); + simulation.setOutputCSV(CSV_OUTPUT_ON); simulation.setOutputConsole(CONSOLE_OUTPUT_OFF); // **** RUN SIMULATION **** diff --git a/julia/tests/cpp_bench/BTCS_450_670_750.cpp b/julia/tests/cpp_bench/BTCS_450_670_750.cpp index a3e8696..a94b0a0 100644 --- a/julia/tests/cpp_bench/BTCS_450_670_750.cpp +++ b/julia/tests/cpp_bench/BTCS_450_670_750.cpp @@ -38,7 +38,7 @@ int main(int argc, char *argv[]) Simulation simulation = Simulation(grid, bc); simulation.setTimestep(0.2); simulation.setIterations(750); - simulation.setOutputCSV(CSV_OUTPUT_VERBOSE); + simulation.setOutputCSV(CSV_OUTPUT_ON); simulation.setOutputConsole(CONSOLE_OUTPUT_OFF); // **** RUN SIMULATION **** diff --git a/julia/tests/julia_bench/BTCS_100_100_1000.jl b/julia/tests/julia_bench/BTCS_100_100_1000.jl index 671c85f..c9e792d 100644 --- a/julia/tests/julia_bench/BTCS_100_100_1000.jl +++ b/julia/tests/julia_bench/BTCS_100_100_1000.jl @@ -26,7 +26,7 @@ function main() simulation = setTimestep(simulation, 0.05) simulation = setIterations(simulation, 1000) simulation = setOutputConsole(simulation, CONSOLE_OUTPUT_OFF) - simulation = setOutputCSV(simulation, CSV_OUPUT_VERBOSE) + simulation = setOutputCSV(simulation, CSV_OUTPUT_ON) # **** RUN SIMULATION **** run(simulation) diff --git a/julia/tests/julia_bench/BTCS_1024_1000_100.jl b/julia/tests/julia_bench/BTCS_1024_1000_100.jl index d721cdc..bbb867b 100644 --- a/julia/tests/julia_bench/BTCS_1024_1000_100.jl +++ b/julia/tests/julia_bench/BTCS_1024_1000_100.jl @@ -32,7 +32,7 @@ function main() simulation = setTimestep(simulation, 0.01) simulation = setIterations(simulation, 100) simulation = setOutputConsole(simulation, CONSOLE_OUTPUT_OFF) - simulation = setOutputCSV(simulation, CSV_OUPUT_VERBOSE) + simulation = setOutputCSV(simulation, CSV_OUTPUT_ON) # **** RUN SIMULATION **** run(simulation) diff --git a/julia/tests/julia_bench/BTCS_1_20_100.jl b/julia/tests/julia_bench/BTCS_1_20_100.jl index d413617..fb8690f 100644 --- a/julia/tests/julia_bench/BTCS_1_20_100.jl +++ b/julia/tests/julia_bench/BTCS_1_20_100.jl @@ -21,7 +21,7 @@ function main() simulation = setTimestep(simulation, 0.1) simulation = setIterations(simulation, 100) simulation = setOutputConsole(simulation, CONSOLE_OUTPUT_OFF) - simulation = setOutputCSV(simulation, CSV_OUPUT_VERBOSE) + simulation = setOutputCSV(simulation, CSV_OUTPUT_ON) # **** RUN SIMULATION **** run(simulation) diff --git a/julia/tests/julia_bench/BTCS_1_45_75000.jl b/julia/tests/julia_bench/BTCS_1_45_75000.jl index baeb5b8..f3ad0f8 100644 --- a/julia/tests/julia_bench/BTCS_1_45_75000.jl +++ b/julia/tests/julia_bench/BTCS_1_45_75000.jl @@ -23,7 +23,7 @@ function main() simulation = setTimestep(simulation, 1.23) simulation = setIterations(simulation, 75000) simulation = setOutputConsole(simulation, CONSOLE_OUTPUT_OFF) - simulation = setOutputCSV(simulation, CSV_OUPUT_VERBOSE) + simulation = setOutputCSV(simulation, CSV_OUTPUT_ON) # **** RUN SIMULATION **** run(simulation) diff --git a/julia/tests/julia_bench/BTCS_20_20_500.jl b/julia/tests/julia_bench/BTCS_20_20_500.jl index 262fb01..333f1e7 100644 --- a/julia/tests/julia_bench/BTCS_20_20_500.jl +++ b/julia/tests/julia_bench/BTCS_20_20_500.jl @@ -25,7 +25,7 @@ function main() simulation = setTimestep(simulation, 0.1) simulation = setIterations(simulation, 500) simulation = setOutputConsole(simulation, CONSOLE_OUTPUT_OFF) - simulation = setOutputCSV(simulation, CSV_OUPUT_VERBOSE) + simulation = setOutputCSV(simulation, CSV_OUTPUT_ON) # **** RUN SIMULATION **** run(simulation) diff --git a/julia/tests/julia_bench/BTCS_450_670_750.jl b/julia/tests/julia_bench/BTCS_450_670_750.jl index 7a1082e..b496624 100644 --- a/julia/tests/julia_bench/BTCS_450_670_750.jl +++ b/julia/tests/julia_bench/BTCS_450_670_750.jl @@ -33,7 +33,7 @@ function main() simulation = setTimestep(simulation, 0.2) simulation = setIterations(simulation, 750) simulation = setOutputConsole(simulation, CONSOLE_OUTPUT_OFF) - simulation = setOutputCSV(simulation, CSV_OUPUT_VERBOSE) + simulation = setOutputCSV(simulation, CSV_OUTPUT_ON) # **** RUN SIMULATION **** run(simulation) diff --git a/julia/tug/Simulation.jl b/julia/tug/Simulation.jl index ce440f8..f976c25 100644 --- a/julia/tug/Simulation.jl +++ b/julia/tug/Simulation.jl @@ -7,7 +7,7 @@ include("Core/BTCS.jl") @enum APPROACH BTCS @enum SOLVER EIGEN_LU_SOLVER @enum CONSOLE_OUTPUT CONSOLE_OUTPUT_OFF CONSOLE_OUTPUT_ON CONSOLE_OUTPUT_VERBOSE -@enum CSV_OUPUT CSV_OUPUT_OFF CSV_OUPUT_ON CSV_OUPUT_VERBOSE CSV_OUPUT_XTREME +@enum CSV_OUTPUT CSV_OUTPUT_OFF CSV_OUTPUT_ON CSV_OUTPUT_VERBOSE CSV_OUTPUT_XTREME # Create the Simulation class struct Simulation{T,approach,solver} @@ -17,16 +17,15 @@ struct Simulation{T,approach,solver} solver::SOLVER iterations::Int - numThreads::Int timestep::T consoleOutput::CONSOLE_OUTPUT - csvOutput::CSV_OUPUT + csvOutput::CSV_OUTPUT function Simulation(grid::Grid{T}, bc::Boundary{T}, approach::APPROACH=BTCS, - solver::SOLVER=EIGEN_LU_SOLVER, iterations::Int=1, numThreads::Int=1, timestep::T=0.1, - consoleOutput::CONSOLE_OUTPUT=CONSOLE_OUTPUT_OFF, csvOutput::CSV_OUPUT=CSV_OUPUT_OFF) where {T} - new{T,APPROACH,SOLVER}(grid, bc, approach, solver, iterations, numThreads, timestep, consoleOutput, csvOutput) + solver::SOLVER=EIGEN_LU_SOLVER, iterations::Int=1, timestep::T=0.1, + consoleOutput::CONSOLE_OUTPUT=CONSOLE_OUTPUT_OFF, csvOutput::CSV_OUTPUT=CSV_OUTPUT_OFF) where {T} + new{T,APPROACH,SOLVER}(grid, bc, approach, solver, iterations, timestep, consoleOutput, csvOutput) end end @@ -45,7 +44,7 @@ function createCSVfile(simulation::Simulation{T,approach,solver})::IOStream wher end # Write boundary conditions if required - if simulation.csvOutput == CSV_OUPUT_XTREME + if simulation.csvOutput == CSV_OUTPUT_XTREME open(filename, "w") do file writeBoundarySideValues(file, simulation.bc, LEFT) writeBoundarySideValues(file, simulation.bc, RIGHT) @@ -87,7 +86,7 @@ end function run(simulation::Simulation{T,approach,solver}) where {T,approach,solver} file = nothing try - if simulation.csvOutput > CSV_OUPUT_OFF + if simulation.csvOutput > CSV_OUTPUT_OFF file = createCSVfile(simulation) end @@ -98,11 +97,11 @@ function run(simulation::Simulation{T,approach,solver}) where {T,approach,solver printConcentrations(simulation) end - if simulation.csvOutput >= CSV_OUPUT_VERBOSE + if simulation.csvOutput >= CSV_OUTPUT_VERBOSE printConcentrationsCSV(simulation, file) end - BTCS_step(simulation.grid, simulation.bc, simulation.timestep, simulation.numThreads) + BTCS_step(simulation.grid, simulation.bc, simulation.timestep) end else error("Undefined solver!") @@ -115,7 +114,7 @@ function run(simulation::Simulation{T,approach,solver}) where {T,approach,solver printConcentrations(simulation) end - if simulation.csvOutput == CSV_OUPUT_ON || simulation.csvOutput == CSV_OUPUT_VERBOSE || simulation.csvOutput == CSV_OUPUT_XTREME + if simulation.csvOutput == CSV_OUTPUT_ON || simulation.csvOutput == CSV_OUTPUT_VERBOSE || simulation.csvOutput == CSV_OUTPUT_XTREME printConcentrationsCSV(simulation, file) end @@ -127,17 +126,17 @@ function run(simulation::Simulation{T,approach,solver}) where {T,approach,solver end function setTimestep(simulation::Simulation{T,approach,solver}, timestep::T) where {T,approach,solver} - return Simulation(simulation.grid, simulation.bc, simulation.approach, simulation.solver, simulation.iterations, simulation.numThreads, timestep, simulation.consoleOutput, simulation.csvOutput) + return Simulation(simulation.grid, simulation.bc, simulation.approach, simulation.solver, simulation.iterations, timestep, simulation.consoleOutput, simulation.csvOutput) end function setIterations(simulation::Simulation{T,approach,solver}, iterations::Int) where {T,approach,solver} - return Simulation(simulation.grid, simulation.bc, simulation.approach, simulation.solver, iterations, simulation.numThreads, simulation.timestep, simulation.consoleOutput, simulation.csvOutput) + return Simulation(simulation.grid, simulation.bc, simulation.approach, simulation.solver, iterations, simulation.timestep, simulation.consoleOutput, simulation.csvOutput) end function setOutputConsole(simulation::Simulation{T,approach,solver}, consoleOutput::CONSOLE_OUTPUT) where {T,approach,solver} - return Simulation(simulation.grid, simulation.bc, simulation.approach, simulation.solver, simulation.iterations, simulation.numThreads, simulation.timestep, consoleOutput, simulation.csvOutput) + return Simulation(simulation.grid, simulation.bc, simulation.approach, simulation.solver, simulation.iterations, simulation.timestep, consoleOutput, simulation.csvOutput) end -function setOutputCSV(simulation::Simulation{T,approach,solver}, csvOutput::CSV_OUPUT) where {T,approach,solver} - return Simulation(simulation.grid, simulation.bc, simulation.approach, simulation.solver, simulation.iterations, simulation.numThreads, simulation.timestep, simulation.consoleOutput, csvOutput) +function setOutputCSV(simulation::Simulation{T,approach,solver}, csvOutput::CSV_OUTPUT) where {T,approach,solver} + return Simulation(simulation.grid, simulation.bc, simulation.approach, simulation.solver, simulation.iterations, simulation.timestep, simulation.consoleOutput, csvOutput) end