test: moved to singular csv output
Changed testcases to use CSV_OUTPUT_ON isntead of CSV_OUTPUT_VERBOSE [skip ci]
This commit is contained in:
parent
4ba02e30de
commit
88ecf82477
@ -31,7 +31,7 @@ int main(int argc, char *argv[])
|
|||||||
Simulation simulation = Simulation(grid, bc);
|
Simulation simulation = Simulation(grid, bc);
|
||||||
simulation.setTimestep(0.05);
|
simulation.setTimestep(0.05);
|
||||||
simulation.setIterations(1000);
|
simulation.setIterations(1000);
|
||||||
simulation.setOutputCSV(CSV_OUTPUT_VERBOSE);
|
simulation.setOutputCSV(CSV_OUTPUT_ON);
|
||||||
simulation.setOutputConsole(CONSOLE_OUTPUT_OFF);
|
simulation.setOutputConsole(CONSOLE_OUTPUT_OFF);
|
||||||
|
|
||||||
// **** RUN SIMULATION ****
|
// **** RUN SIMULATION ****
|
||||||
|
|||||||
@ -37,7 +37,7 @@ int main(int argc, char *argv[])
|
|||||||
Simulation simulation = Simulation(grid, bc);
|
Simulation simulation = Simulation(grid, bc);
|
||||||
simulation.setTimestep(0.01);
|
simulation.setTimestep(0.01);
|
||||||
simulation.setIterations(100);
|
simulation.setIterations(100);
|
||||||
simulation.setOutputCSV(CSV_OUTPUT_VERBOSE);
|
simulation.setOutputCSV(CSV_OUTPUT_ON);
|
||||||
simulation.setOutputConsole(CONSOLE_OUTPUT_OFF);
|
simulation.setOutputConsole(CONSOLE_OUTPUT_OFF);
|
||||||
|
|
||||||
// **** RUN SIMULATION ****
|
// **** RUN SIMULATION ****
|
||||||
|
|||||||
@ -26,7 +26,7 @@ int main(int argc, char *argv[])
|
|||||||
Simulation simulation = Simulation(grid, bc);
|
Simulation simulation = Simulation(grid, bc);
|
||||||
simulation.setTimestep(0.1);
|
simulation.setTimestep(0.1);
|
||||||
simulation.setIterations(100);
|
simulation.setIterations(100);
|
||||||
simulation.setOutputCSV(CSV_OUTPUT_VERBOSE);
|
simulation.setOutputCSV(CSV_OUTPUT_ON);
|
||||||
simulation.setOutputConsole(CONSOLE_OUTPUT_OFF);
|
simulation.setOutputConsole(CONSOLE_OUTPUT_OFF);
|
||||||
|
|
||||||
// **** RUN SIMULATION ****
|
// **** RUN SIMULATION ****
|
||||||
|
|||||||
@ -28,7 +28,7 @@ int main(int argc, char *argv[])
|
|||||||
Simulation simulation = Simulation(grid, bc);
|
Simulation simulation = Simulation(grid, bc);
|
||||||
simulation.setTimestep(1.23);
|
simulation.setTimestep(1.23);
|
||||||
simulation.setIterations(75000);
|
simulation.setIterations(75000);
|
||||||
simulation.setOutputCSV(CSV_OUTPUT_VERBOSE);
|
simulation.setOutputCSV(CSV_OUTPUT_ON);
|
||||||
simulation.setOutputConsole(CONSOLE_OUTPUT_OFF);
|
simulation.setOutputConsole(CONSOLE_OUTPUT_OFF);
|
||||||
|
|
||||||
// **** RUN SIMULATION ****
|
// **** RUN SIMULATION ****
|
||||||
|
|||||||
@ -30,7 +30,7 @@ int main(int argc, char *argv[])
|
|||||||
Simulation simulation = Simulation(grid, bc);
|
Simulation simulation = Simulation(grid, bc);
|
||||||
simulation.setTimestep(0.1);
|
simulation.setTimestep(0.1);
|
||||||
simulation.setIterations(500);
|
simulation.setIterations(500);
|
||||||
simulation.setOutputCSV(CSV_OUTPUT_VERBOSE);
|
simulation.setOutputCSV(CSV_OUTPUT_ON);
|
||||||
simulation.setOutputConsole(CONSOLE_OUTPUT_OFF);
|
simulation.setOutputConsole(CONSOLE_OUTPUT_OFF);
|
||||||
|
|
||||||
// **** RUN SIMULATION ****
|
// **** RUN SIMULATION ****
|
||||||
|
|||||||
@ -38,7 +38,7 @@ int main(int argc, char *argv[])
|
|||||||
Simulation simulation = Simulation(grid, bc);
|
Simulation simulation = Simulation(grid, bc);
|
||||||
simulation.setTimestep(0.2);
|
simulation.setTimestep(0.2);
|
||||||
simulation.setIterations(750);
|
simulation.setIterations(750);
|
||||||
simulation.setOutputCSV(CSV_OUTPUT_VERBOSE);
|
simulation.setOutputCSV(CSV_OUTPUT_ON);
|
||||||
simulation.setOutputConsole(CONSOLE_OUTPUT_OFF);
|
simulation.setOutputConsole(CONSOLE_OUTPUT_OFF);
|
||||||
|
|
||||||
// **** RUN SIMULATION ****
|
// **** RUN SIMULATION ****
|
||||||
|
|||||||
@ -26,7 +26,7 @@ function main()
|
|||||||
simulation = setTimestep(simulation, 0.05)
|
simulation = setTimestep(simulation, 0.05)
|
||||||
simulation = setIterations(simulation, 1000)
|
simulation = setIterations(simulation, 1000)
|
||||||
simulation = setOutputConsole(simulation, CONSOLE_OUTPUT_OFF)
|
simulation = setOutputConsole(simulation, CONSOLE_OUTPUT_OFF)
|
||||||
simulation = setOutputCSV(simulation, CSV_OUPUT_VERBOSE)
|
simulation = setOutputCSV(simulation, CSV_OUTPUT_ON)
|
||||||
|
|
||||||
# **** RUN SIMULATION ****
|
# **** RUN SIMULATION ****
|
||||||
run(simulation)
|
run(simulation)
|
||||||
|
|||||||
@ -32,7 +32,7 @@ function main()
|
|||||||
simulation = setTimestep(simulation, 0.01)
|
simulation = setTimestep(simulation, 0.01)
|
||||||
simulation = setIterations(simulation, 100)
|
simulation = setIterations(simulation, 100)
|
||||||
simulation = setOutputConsole(simulation, CONSOLE_OUTPUT_OFF)
|
simulation = setOutputConsole(simulation, CONSOLE_OUTPUT_OFF)
|
||||||
simulation = setOutputCSV(simulation, CSV_OUPUT_VERBOSE)
|
simulation = setOutputCSV(simulation, CSV_OUTPUT_ON)
|
||||||
|
|
||||||
# **** RUN SIMULATION ****
|
# **** RUN SIMULATION ****
|
||||||
run(simulation)
|
run(simulation)
|
||||||
|
|||||||
@ -21,7 +21,7 @@ function main()
|
|||||||
simulation = setTimestep(simulation, 0.1)
|
simulation = setTimestep(simulation, 0.1)
|
||||||
simulation = setIterations(simulation, 100)
|
simulation = setIterations(simulation, 100)
|
||||||
simulation = setOutputConsole(simulation, CONSOLE_OUTPUT_OFF)
|
simulation = setOutputConsole(simulation, CONSOLE_OUTPUT_OFF)
|
||||||
simulation = setOutputCSV(simulation, CSV_OUPUT_VERBOSE)
|
simulation = setOutputCSV(simulation, CSV_OUTPUT_ON)
|
||||||
|
|
||||||
# **** RUN SIMULATION ****
|
# **** RUN SIMULATION ****
|
||||||
run(simulation)
|
run(simulation)
|
||||||
|
|||||||
@ -23,7 +23,7 @@ function main()
|
|||||||
simulation = setTimestep(simulation, 1.23)
|
simulation = setTimestep(simulation, 1.23)
|
||||||
simulation = setIterations(simulation, 75000)
|
simulation = setIterations(simulation, 75000)
|
||||||
simulation = setOutputConsole(simulation, CONSOLE_OUTPUT_OFF)
|
simulation = setOutputConsole(simulation, CONSOLE_OUTPUT_OFF)
|
||||||
simulation = setOutputCSV(simulation, CSV_OUPUT_VERBOSE)
|
simulation = setOutputCSV(simulation, CSV_OUTPUT_ON)
|
||||||
|
|
||||||
# **** RUN SIMULATION ****
|
# **** RUN SIMULATION ****
|
||||||
run(simulation)
|
run(simulation)
|
||||||
|
|||||||
@ -25,7 +25,7 @@ function main()
|
|||||||
simulation = setTimestep(simulation, 0.1)
|
simulation = setTimestep(simulation, 0.1)
|
||||||
simulation = setIterations(simulation, 500)
|
simulation = setIterations(simulation, 500)
|
||||||
simulation = setOutputConsole(simulation, CONSOLE_OUTPUT_OFF)
|
simulation = setOutputConsole(simulation, CONSOLE_OUTPUT_OFF)
|
||||||
simulation = setOutputCSV(simulation, CSV_OUPUT_VERBOSE)
|
simulation = setOutputCSV(simulation, CSV_OUTPUT_ON)
|
||||||
|
|
||||||
# **** RUN SIMULATION ****
|
# **** RUN SIMULATION ****
|
||||||
run(simulation)
|
run(simulation)
|
||||||
|
|||||||
@ -33,7 +33,7 @@ function main()
|
|||||||
simulation = setTimestep(simulation, 0.2)
|
simulation = setTimestep(simulation, 0.2)
|
||||||
simulation = setIterations(simulation, 750)
|
simulation = setIterations(simulation, 750)
|
||||||
simulation = setOutputConsole(simulation, CONSOLE_OUTPUT_OFF)
|
simulation = setOutputConsole(simulation, CONSOLE_OUTPUT_OFF)
|
||||||
simulation = setOutputCSV(simulation, CSV_OUPUT_VERBOSE)
|
simulation = setOutputCSV(simulation, CSV_OUTPUT_ON)
|
||||||
|
|
||||||
# **** RUN SIMULATION ****
|
# **** RUN SIMULATION ****
|
||||||
run(simulation)
|
run(simulation)
|
||||||
|
|||||||
@ -7,7 +7,7 @@ include("Core/BTCS.jl")
|
|||||||
@enum APPROACH BTCS
|
@enum APPROACH BTCS
|
||||||
@enum SOLVER EIGEN_LU_SOLVER
|
@enum SOLVER EIGEN_LU_SOLVER
|
||||||
@enum CONSOLE_OUTPUT CONSOLE_OUTPUT_OFF CONSOLE_OUTPUT_ON CONSOLE_OUTPUT_VERBOSE
|
@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
|
# Create the Simulation class
|
||||||
struct Simulation{T,approach,solver}
|
struct Simulation{T,approach,solver}
|
||||||
@ -17,16 +17,15 @@ struct Simulation{T,approach,solver}
|
|||||||
solver::SOLVER
|
solver::SOLVER
|
||||||
|
|
||||||
iterations::Int
|
iterations::Int
|
||||||
numThreads::Int
|
|
||||||
timestep::T
|
timestep::T
|
||||||
|
|
||||||
consoleOutput::CONSOLE_OUTPUT
|
consoleOutput::CONSOLE_OUTPUT
|
||||||
csvOutput::CSV_OUPUT
|
csvOutput::CSV_OUTPUT
|
||||||
|
|
||||||
function Simulation(grid::Grid{T}, bc::Boundary{T}, approach::APPROACH=BTCS,
|
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,
|
solver::SOLVER=EIGEN_LU_SOLVER, iterations::Int=1, timestep::T=0.1,
|
||||||
consoleOutput::CONSOLE_OUTPUT=CONSOLE_OUTPUT_OFF, csvOutput::CSV_OUPUT=CSV_OUPUT_OFF) where {T}
|
consoleOutput::CONSOLE_OUTPUT=CONSOLE_OUTPUT_OFF, csvOutput::CSV_OUTPUT=CSV_OUTPUT_OFF) where {T}
|
||||||
new{T,APPROACH,SOLVER}(grid, bc, approach, solver, iterations, numThreads, timestep, consoleOutput, csvOutput)
|
new{T,APPROACH,SOLVER}(grid, bc, approach, solver, iterations, timestep, consoleOutput, csvOutput)
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
@ -45,7 +44,7 @@ function createCSVfile(simulation::Simulation{T,approach,solver})::IOStream wher
|
|||||||
end
|
end
|
||||||
|
|
||||||
# Write boundary conditions if required
|
# Write boundary conditions if required
|
||||||
if simulation.csvOutput == CSV_OUPUT_XTREME
|
if simulation.csvOutput == CSV_OUTPUT_XTREME
|
||||||
open(filename, "w") do file
|
open(filename, "w") do file
|
||||||
writeBoundarySideValues(file, simulation.bc, LEFT)
|
writeBoundarySideValues(file, simulation.bc, LEFT)
|
||||||
writeBoundarySideValues(file, simulation.bc, RIGHT)
|
writeBoundarySideValues(file, simulation.bc, RIGHT)
|
||||||
@ -87,7 +86,7 @@ end
|
|||||||
function run(simulation::Simulation{T,approach,solver}) where {T,approach,solver}
|
function run(simulation::Simulation{T,approach,solver}) where {T,approach,solver}
|
||||||
file = nothing
|
file = nothing
|
||||||
try
|
try
|
||||||
if simulation.csvOutput > CSV_OUPUT_OFF
|
if simulation.csvOutput > CSV_OUTPUT_OFF
|
||||||
file = createCSVfile(simulation)
|
file = createCSVfile(simulation)
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -98,11 +97,11 @@ function run(simulation::Simulation{T,approach,solver}) where {T,approach,solver
|
|||||||
printConcentrations(simulation)
|
printConcentrations(simulation)
|
||||||
end
|
end
|
||||||
|
|
||||||
if simulation.csvOutput >= CSV_OUPUT_VERBOSE
|
if simulation.csvOutput >= CSV_OUTPUT_VERBOSE
|
||||||
printConcentrationsCSV(simulation, file)
|
printConcentrationsCSV(simulation, file)
|
||||||
end
|
end
|
||||||
|
|
||||||
BTCS_step(simulation.grid, simulation.bc, simulation.timestep, simulation.numThreads)
|
BTCS_step(simulation.grid, simulation.bc, simulation.timestep)
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
error("Undefined solver!")
|
error("Undefined solver!")
|
||||||
@ -115,7 +114,7 @@ function run(simulation::Simulation{T,approach,solver}) where {T,approach,solver
|
|||||||
printConcentrations(simulation)
|
printConcentrations(simulation)
|
||||||
end
|
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)
|
printConcentrationsCSV(simulation, file)
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -127,17 +126,17 @@ function run(simulation::Simulation{T,approach,solver}) where {T,approach,solver
|
|||||||
end
|
end
|
||||||
|
|
||||||
function setTimestep(simulation::Simulation{T,approach,solver}, timestep::T) where {T,approach,solver}
|
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
|
end
|
||||||
|
|
||||||
function setIterations(simulation::Simulation{T,approach,solver}, iterations::Int) where {T,approach,solver}
|
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
|
end
|
||||||
|
|
||||||
function setOutputConsole(simulation::Simulation{T,approach,solver}, consoleOutput::CONSOLE_OUTPUT) where {T,approach,solver}
|
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
|
end
|
||||||
|
|
||||||
function setOutputCSV(simulation::Simulation{T,approach,solver}, csvOutput::CSV_OUPUT) where {T,approach,solver}
|
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.numThreads, simulation.timestep, simulation.consoleOutput, csvOutput)
|
return Simulation(simulation.grid, simulation.bc, simulation.approach, simulation.solver, simulation.iterations, simulation.timestep, simulation.consoleOutput, csvOutput)
|
||||||
end
|
end
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user