|
Neko 1.99.9
A portable framework for high-order spectral element flow simulations
|
Base type for a scalar advection-diffusion solver. More...


Public Attributes | |
| character(len=:), allocatable | name |
| A name that can be used to distinguish this solver in e.g. user routines. | |
| type(field_t), pointer | u |
| x-component of Velocity | |
| type(field_t), pointer | v |
| y-component of Velocity | |
| type(field_t), pointer | w |
| z-component of Velocity | |
| type(field_t), pointer | s |
| The scalar. | |
| type(field_series_t) | slag |
| Lag arrays, i.e. solutions at previous timesteps. | |
| type(space_t), pointer | xh |
| Function space \( X_h \). | |
| type(dofmap_t), pointer | dm_xh |
| Dofmap associated with \( X_h \). | |
| type(gs_t), pointer | gs_xh |
| Gather-scatter associated with \( X_h \). | |
| type(coef_t), pointer | c_xh |
| Coefficients associated with \( X_h \). | |
| type(field_t), pointer | f_xh => null() |
| Right-hand side. | |
| type(scalar_source_term_t) | source_term |
| The source term for equation. | |
| class(ksp_t), allocatable | ksp |
| Krylov solver. | |
| integer | ksp_maxiter |
| Max iterations in the Krylov solver. | |
| integer | projection_dim |
| Projection space size. | |
| integer | projection_activ_step |
| class(pc_t), allocatable | pc |
| Preconditioner. | |
| type(bc_list_t) | bcs |
| List of boundary conditions, including the user one. | |
| type(json_file), pointer | params => null() |
| Case parameters. | |
| type(mesh_t), pointer | msh => null() |
| Mesh. | |
| type(chkp_t), pointer | chkp => null() |
| Checkpoint for restarts. | |
| character(len=:), allocatable | nut_field_name |
| The turbulent kinematic viscosity field name. | |
| character(len=:), allocatable | alphat_field_name |
| The turbulent diffusivity field name. | |
| type(field_t), pointer | rho => null() |
| Density. | |
| type(field_t), pointer | lambda => null() |
| Thermal diffusivity. | |
| type(field_t), pointer | cp => null() |
| Specific heat capacity. | |
| type(field_t), pointer | lambda_tot => null() |
| Total diffusivity. | |
| real(kind=rp) | pr_turb |
| Turbulent Prandtl number. | |
| type(field_list_t) | material_properties |
| Field list with cp and lambda. | |
| logical | freeze = .false. |
| Freeze the scheme, i.e. do nothing in step() | |
| logical | svv_enabled = .false. |
| Whether spectral vanishing viscosity is enabled. | |
| type(svv_t), allocatable | svv |
| Spectral vanishing viscosity data. | |
Static Public Attributes | |
| procedure(user_material_properties_intf), pointer, nopass | user_material_properties => null() |
Definition at line 77 of file scalar_scheme.f90.
|
pure virtual |
Definition at line 166 of file scalar_scheme.f90.
|
pure virtual |
Definition at line 164 of file scalar_scheme.f90.
| procedure, pass(this) scalar_scheme::scalar_scheme_t::register_checkpoint | ( | class(scalar_scheme_t), intent(inout), target | this, |
| type(chkp_t), intent(inout) | chkp | ||
| ) |
| chkp | Checkpoint object to register with. |
Definition at line 155 of file scalar_scheme.f90.
|
pure virtual |
Definition at line 170 of file scalar_scheme.f90.
| procedure, pass(this) scalar_scheme::scalar_scheme_t::scheme_free | ( | class(scalar_scheme_t), intent(inout) | this | ) |
Definition at line 148 of file scalar_scheme.f90.
| procedure, pass(this) scalar_scheme::scalar_scheme_t::scheme_init | ( | class(scalar_scheme_t), intent(inout), target | this, |
| type(mesh_t), intent(in), target | msh, | ||
| type(coef_t), intent(in), target | c_xh, | ||
| type(gs_t), intent(inout), target | gs_xh, | ||
| type(json_file), intent(inout), target | params, | ||
| character(len=*), intent(in) | scheme, | ||
| type(user_t), intent(in), target | user, | ||
| type(field_t), intent(in), target | rho | ||
| ) |
| msh | The mesh. |
| c_Xh | The coefficients. |
| gs_Xh | The gather-scatter. |
| params | The parameter dictionary in json. |
| scheme | The name of the scalar scheme. |
| user | Type with user-defined procedures. |
| rho | The density of the fluid. |
Definition at line 146 of file scalar_scheme.f90.
| procedure, pass(this) scalar_scheme::scalar_scheme_t::set_initial_condition | ( | class(scalar_scheme_t), intent(inout) | this, |
| type(user_t), intent(in) | user, | ||
| integer, intent(in) | scalar_index | ||
| ) |
| user | Type with user-defined procedures. |
| scalar_index | Index of the scalar in a field file. |
Definition at line 152 of file scalar_scheme.f90.
| procedure, pass(this) scalar_scheme::scalar_scheme_t::set_material_properties | ( | class(scalar_scheme_t), intent(inout) | this, |
| type(json_file), intent(inout) | params, | ||
| type(user_t), intent(in), target | user | ||
| ) |
| params | The case file configuration dictionary. |
| user | The user interface. |
Definition at line 158 of file scalar_scheme.f90.
|
pure virtual |
Definition at line 168 of file scalar_scheme.f90.
| procedure, pass(this) scalar_scheme::scalar_scheme_t::update_material_properties | ( | class(scalar_scheme_t), intent(inout) | this, |
| type(time_state_t), intent(in) | time | ||
| ) |
| t | Time value. |
| tstep | Current time step. |
Definition at line 161 of file scalar_scheme.f90.
| procedure, pass(this) scalar_scheme::scalar_scheme_t::validate | ( | class(scalar_scheme_t), intent(inout), target | this | ) |
Definition at line 150 of file scalar_scheme.f90.
| character(len=:), allocatable scalar_scheme::scalar_scheme_t::alphat_field_name |
Definition at line 123 of file scalar_scheme.f90.
| type(bc_list_t) scalar_scheme::scalar_scheme_t::bcs |
Definition at line 113 of file scalar_scheme.f90.
Definition at line 97 of file scalar_scheme.f90.
Definition at line 119 of file scalar_scheme.f90.
Definition at line 129 of file scalar_scheme.f90.
Definition at line 93 of file scalar_scheme.f90.
Definition at line 99 of file scalar_scheme.f90.
| logical scalar_scheme::scalar_scheme_t::freeze = .false. |
Definition at line 139 of file scalar_scheme.f90.
Definition at line 95 of file scalar_scheme.f90.
| class(ksp_t), allocatable scalar_scheme::scalar_scheme_t::ksp |
Definition at line 103 of file scalar_scheme.f90.
| integer scalar_scheme::scalar_scheme_t::ksp_maxiter |
Definition at line 105 of file scalar_scheme.f90.
Definition at line 127 of file scalar_scheme.f90.
Definition at line 131 of file scalar_scheme.f90.
| type(field_list_t) scalar_scheme::scalar_scheme_t::material_properties |
Definition at line 135 of file scalar_scheme.f90.
Definition at line 117 of file scalar_scheme.f90.
| character(len=:), allocatable scalar_scheme::scalar_scheme_t::name |
Definition at line 79 of file scalar_scheme.f90.
| character(len=:), allocatable scalar_scheme::scalar_scheme_t::nut_field_name |
Definition at line 121 of file scalar_scheme.f90.
Definition at line 115 of file scalar_scheme.f90.
| class(pc_t), allocatable scalar_scheme::scalar_scheme_t::pc |
Definition at line 111 of file scalar_scheme.f90.
| real(kind=rp) scalar_scheme::scalar_scheme_t::pr_turb |
Definition at line 133 of file scalar_scheme.f90.
| integer scalar_scheme::scalar_scheme_t::projection_activ_step |
Definition at line 109 of file scalar_scheme.f90.
| integer scalar_scheme::scalar_scheme_t::projection_dim |
Steps to activate projection for ksp
Definition at line 107 of file scalar_scheme.f90.
Definition at line 125 of file scalar_scheme.f90.
Definition at line 87 of file scalar_scheme.f90.
| type(field_series_t) scalar_scheme::scalar_scheme_t::slag |
Definition at line 89 of file scalar_scheme.f90.
| type(scalar_source_term_t) scalar_scheme::scalar_scheme_t::source_term |
Definition at line 101 of file scalar_scheme.f90.
| type(svv_t), allocatable scalar_scheme::scalar_scheme_t::svv |
Definition at line 143 of file scalar_scheme.f90.
| logical scalar_scheme::scalar_scheme_t::svv_enabled = .false. |
Definition at line 141 of file scalar_scheme.f90.
Definition at line 81 of file scalar_scheme.f90.
|
static |
Definition at line 136 of file scalar_scheme.f90.
Definition at line 83 of file scalar_scheme.f90.
Definition at line 85 of file scalar_scheme.f90.
Definition at line 91 of file scalar_scheme.f90.