|
Neko-TOP
A portable framework for high-order spectral element flow toplogy optimization.
|

Public Member Functions | |
| procedure, pass(this) | init (this, parameters) |
| Initialize the simulation. | |
| procedure, pass(this) | free (this) |
| Free the simulation. | |
| procedure, pass(this) | run_forward (this) |
| Run the simulation. | |
| procedure, pass(this) | run_backward (this) |
| Run the adjoint simulation. | |
| procedure, pass(this) | reset (this) |
| Reset the simulation. | |
| procedure, pass(this) | set_output_counter (this, idx) |
| Set simulation output counters. | |
| procedure, pass(this) | set_design_iteration (this, iteration) |
| Set the current design iteration. | |
| procedure, pass(this) | write (this, idx) |
| Write current state of the simulation to disk. | |
| procedure, pass(this) | write_forward (this, idx) |
| Write current state of the forward simulation to disk. | |
| procedure, pass(this) | write_adjoint (this, idx) |
| Write current state of the adjoint simulation to disk. | |
Public Attributes | |
| type(case_t), public | neko_case |
| and primal case | |
| type(adjoint_case_t), public | adjoint_case |
| and adjoint case | |
| class(fluid_scheme_incompressible_t), pointer, public | fluid => null() |
| The fluid. | |
| type(scalars_t), pointer, public | scalars => null() |
| The scalar. | |
| class(adjoint_fluid_scheme_t), pointer, public | adjoint_fluid => null() |
| The adjoint fluid. | |
| type(adjoint_scalars_t), pointer, public | adjoint_scalars => null() |
| The adjoint scalar. | |
| type(field_output_t), public | output_forward |
| An output sampler for the forward problem. This should probably be an output controller at some point instead. | |
| type(field_output_t), public | output_adjoint |
| An output sampler for the adjoint problem. This should probably be an output controller at some point instead. | |
| character(len=:), allocatable | forward_field_base_fname |
Base output filename for Neko's own forward field output (neko_casef_out), captured before any design-iteration tag is spliced into it, so that tag can be rebuilt fresh on every reset. | |
| character(len=:), allocatable | adjoint_field_base_fname |
Base output filename for Neko's own adjoint field output (adjoint_casef_out), captured before any design-iteration tag is spliced into it, so that tag can be rebuilt fresh on every reset. | |
| integer | current_design_iteration = 0 |
The current design iteration. Used so that reset can keep Neko's own field output (neko_casef_out / adjoint_casef_out) from overwriting the previous design iteration's output. | |
| logical | unsteady = .false. |
| Whether the simulation is steady or unsteady. | |
| logical | have_scalar = .false. |
| integer | n_timesteps = 0 |
| real(kind=dp) | forward_init_dt = 0.0_dp |
The forward time step as initialised from the case file. A variable timestep changes neko_casetimedt during a run, and reset starts the next run's time-step history from it, so it is restored first. | |
| real(kind=dp) | adjoint_init_dt = 0.0_dp |
The adjoint time step as initialised from the case file, restored on reset for the same reason as forward_init_dt. | |
| class(state_recover_t), allocatable | state_recover |
| The state recovery system data. | |
Definition at line 67 of file simulation.f90.
Definition at line 122 of file simulation.f90.
| procedure, pass(this) simulation_m::simulation_t::init | ( | class(simulation_t), intent(inout), target | this, |
| type(json_file), intent(inout) | parameters | ||
| ) |
Definition at line 120 of file simulation.f90.
Definition at line 128 of file simulation.f90.
| procedure, pass(this) simulation_m::simulation_t::run_backward | ( | class(simulation_t), intent(inout) | this | ) |
Definition at line 126 of file simulation.f90.
| procedure, pass(this) simulation_m::simulation_t::run_forward | ( | class(simulation_t), intent(inout) | this | ) |
Definition at line 124 of file simulation.f90.
| procedure, pass(this) simulation_m::simulation_t::set_design_iteration | ( | class(simulation_t), intent(inout) | this, |
| integer, intent(in) | iteration | ||
| ) |
| this | The simulation object. |
| iteration | The current design iteration. |
Definition at line 133 of file simulation.f90.
| procedure, pass(this) simulation_m::simulation_t::set_output_counter | ( | class(simulation_t), intent(inout) | this, |
| integer, intent(in) | idx | ||
| ) |
Definition at line 130 of file simulation.f90.
| procedure, pass(this) simulation_m::simulation_t::write | ( | class(simulation_t), intent(inout) | this, |
| integer, intent(in) | idx | ||
| ) |
Definition at line 136 of file simulation.f90.
| procedure, pass(this) simulation_m::simulation_t::write_adjoint | ( | class(simulation_t), intent(inout) | this, |
| integer, intent(in) | idx | ||
| ) |
Definition at line 140 of file simulation.f90.
| procedure, pass(this) simulation_m::simulation_t::write_forward | ( | class(simulation_t), intent(inout) | this, |
| integer, intent(in) | idx | ||
| ) |
Definition at line 138 of file simulation.f90.
| type(adjoint_case_t), public simulation_m::simulation_t::adjoint_case |
Definition at line 72 of file simulation.f90.
| character(len=:), allocatable simulation_m::simulation_t::adjoint_field_base_fname |
Definition at line 94 of file simulation.f90.
| class(adjoint_fluid_scheme_t), pointer, public simulation_m::simulation_t::adjoint_fluid => null() |
Definition at line 78 of file simulation.f90.
Definition at line 110 of file simulation.f90.
| type(adjoint_scalars_t), pointer, public simulation_m::simulation_t::adjoint_scalars => null() |
Definition at line 80 of file simulation.f90.
| integer simulation_m::simulation_t::current_design_iteration = 0 |
Definition at line 98 of file simulation.f90.
Definition at line 74 of file simulation.f90.
| character(len=:), allocatable simulation_m::simulation_t::forward_field_base_fname |
Definition at line 90 of file simulation.f90.
Definition at line 107 of file simulation.f90.
| logical simulation_m::simulation_t::have_scalar = .false. |
Definition at line 102 of file simulation.f90.
| integer simulation_m::simulation_t::n_timesteps = 0 |
Definition at line 103 of file simulation.f90.
Definition at line 70 of file simulation.f90.
Definition at line 86 of file simulation.f90.
Definition at line 83 of file simulation.f90.
Definition at line 76 of file simulation.f90.
| class(state_recover_t), allocatable simulation_m::simulation_t::state_recover |
Definition at line 116 of file simulation.f90.
| logical simulation_m::simulation_t::unsteady = .false. |
Definition at line 100 of file simulation.f90.