Neko
0.8.1
A portable framework for high-order spectral element flow simulations
|
Base type for a scalar advection-diffusion solver. More...
Public Member Functions | |
procedure, pass(this) | scheme_init => scalar_scheme_init |
Constructor for the base type. More... | |
procedure, pass(this) | scheme_free => scalar_scheme_free |
Destructor for the base type. More... | |
procedure, pass(this) | validate => scalar_scheme_validate |
Validate successful initialization. More... | |
procedure, pass(this) | set_user_bc => scalar_scheme_set_user_bc |
Assings the evaluation function for user_bc . More... | |
procedure(scalar_scheme_init_intrf), deferred, pass | init |
Constructor. More... | |
procedure(scalar_scheme_free_intrf), deferred, pass | free |
Destructor. More... | |
procedure(scalar_scheme_step_intrf), deferred, pass | step |
Solve for the current timestep. More... | |
procedure(scalar_scheme_restart_intrf), deferred, pass | restart |
Restart from a checkpoint. More... | |
Public Attributes | |
type(field_t), pointer | u |
x-component of Velocity More... | |
type(field_t), pointer | v |
y-component of Velocity More... | |
type(field_t), pointer | w |
z-component of Velocity More... | |
type(field_t), pointer | s |
The scalar. More... | |
type(field_series_t) | slag |
Lag arrays, i.e. solutions at previous timesteps. More... | |
type(space_t), pointer | xh |
Function space \( X_h \). More... | |
type(dofmap_t), pointer | dm_xh |
Dofmap associated with \( X_h \). More... | |
type(gs_t), pointer | gs_xh |
Gather-scatter associated with \( X_h \). More... | |
type(coef_t), pointer | c_xh |
Coefficients associated with \( X_h \). More... | |
type(field_t), pointer | f_xh => null() |
Right-hand side. More... | |
type(scalar_source_term_t) | source_term |
The source term for equation. More... | |
class(ksp_t), allocatable | ksp |
Krylov solver. More... | |
integer | ksp_maxiter |
Max iterations in the Krylov solver. More... | |
integer | projection_dim |
Projection space size. More... | |
integer | projection_activ_step |
class(pc_t), allocatable | pc |
Preconditioner. More... | |
type(dirichlet_t), dimension(neko_msh_max_zlbls) | dir_bcs |
Dirichlet conditions. More... | |
type(field_dirichlet_t) | field_dir_bc |
Field Dirichlet conditions. More... | |
procedure(field_dirichlet_update), pointer, nopass | dirichlet_update_ => null() |
Pointer to user_dirichlet_update to be called in fluid_scheme_step. More... | |
type(bc_list_t) | field_dirichlet_bcs |
List of BC objects to pass to user_dirichlet_update. More... | |
type(field_list_t) | field_dirichlet_fields |
type(neumann_t), dimension(neko_msh_max_zlbls) | neumann_bcs |
Neumann conditions. More... | |
type(usr_scalar_t) | user_bc |
User Dirichlet conditions. More... | |
integer | n_dir_bcs = 0 |
Number of Dirichlet bcs. More... | |
integer | n_neumann_bcs = 0 |
Number of Neumann bcs. More... | |
type(bc_list_t) | bclst_dirichlet |
List of Dirichlet boundary conditions, including the user one. More... | |
type(bc_list_t) | bclst_neumann |
List of Neumann conditions list. More... | |
type(json_file), pointer | params |
Case paramters. More... | |
type(mesh_t), pointer | msh => null() |
Mesh. More... | |
type(chkp_t) | chkp |
Checkpoint for restarts. More... | |
real(kind=rp), pointer | lambda |
Thermal diffusivity. More... | |
real(kind=rp), pointer | rho |
Density. More... | |
real(kind=rp), pointer | cp |
Specific heat capacity. More... | |
character(len=neko_msh_max_zlbl_len), dimension(:), allocatable | bc_labels |
Boundary condition labels (if any) More... | |
Base type for a scalar advection-diffusion solver.
Definition at line 75 of file scalar_scheme.f90.
procedure(scalar_scheme_free_intrf), deferred, pass scalar_scheme::scalar_scheme_t::free |
Destructor.
Definition at line 157 of file scalar_scheme.f90.
procedure(scalar_scheme_init_intrf), deferred, pass scalar_scheme::scalar_scheme_t::init |
Constructor.
Definition at line 155 of file scalar_scheme.f90.
procedure(scalar_scheme_restart_intrf), deferred, pass scalar_scheme::scalar_scheme_t::restart |
Restart from a checkpoint.
Definition at line 161 of file scalar_scheme.f90.
procedure, pass(this) scalar_scheme::scalar_scheme_t::scheme_free |
Destructor for the base type.
Definition at line 149 of file scalar_scheme.f90.
procedure, pass(this) scalar_scheme::scalar_scheme_t::scheme_init |
Constructor for the base type.
Definition at line 147 of file scalar_scheme.f90.
procedure, pass(this) scalar_scheme::scalar_scheme_t::set_user_bc |
Assings the evaluation function for user_bc
.
Definition at line 153 of file scalar_scheme.f90.
procedure(scalar_scheme_step_intrf), deferred, pass scalar_scheme::scalar_scheme_t::step |
Solve for the current timestep.
Definition at line 159 of file scalar_scheme.f90.
procedure, pass(this) scalar_scheme::scalar_scheme_t::validate |
Validate successful initialization.
Definition at line 151 of file scalar_scheme.f90.
character(len=neko_msh_max_zlbl_len), dimension(:), allocatable scalar_scheme::scalar_scheme_t::bc_labels |
Boundary condition labels (if any)
Definition at line 144 of file scalar_scheme.f90.
type(bc_list_t) scalar_scheme::scalar_scheme_t::bclst_dirichlet |
List of Dirichlet boundary conditions, including the user one.
Definition at line 128 of file scalar_scheme.f90.
type(bc_list_t) scalar_scheme::scalar_scheme_t::bclst_neumann |
List of Neumann conditions list.
Definition at line 130 of file scalar_scheme.f90.
type(coef_t), pointer scalar_scheme::scalar_scheme_t::c_xh |
Coefficients associated with \( X_h \).
Definition at line 93 of file scalar_scheme.f90.
type(chkp_t) scalar_scheme::scalar_scheme_t::chkp |
Checkpoint for restarts.
Definition at line 136 of file scalar_scheme.f90.
real(kind=rp), pointer scalar_scheme::scalar_scheme_t::cp |
Specific heat capacity.
Definition at line 142 of file scalar_scheme.f90.
type(dirichlet_t), dimension(neko_msh_max_zlbls) scalar_scheme::scalar_scheme_t::dir_bcs |
Dirichlet conditions.
Definition at line 109 of file scalar_scheme.f90.
procedure(field_dirichlet_update), pointer, nopass scalar_scheme::scalar_scheme_t::dirichlet_update_ => null() |
Pointer to user_dirichlet_update to be called in fluid_scheme_step.
Definition at line 113 of file scalar_scheme.f90.
type(dofmap_t), pointer scalar_scheme::scalar_scheme_t::dm_xh |
Dofmap associated with \( X_h \).
Definition at line 89 of file scalar_scheme.f90.
type(field_t), pointer scalar_scheme::scalar_scheme_t::f_xh => null() |
Right-hand side.
Definition at line 95 of file scalar_scheme.f90.
type(field_dirichlet_t) scalar_scheme::scalar_scheme_t::field_dir_bc |
Field Dirichlet conditions.
Definition at line 111 of file scalar_scheme.f90.
type(bc_list_t) scalar_scheme::scalar_scheme_t::field_dirichlet_bcs |
List of BC objects to pass to user_dirichlet_update.
List of fields to pass to user_dirichlet_update
Definition at line 116 of file scalar_scheme.f90.
type(field_list_t) scalar_scheme::scalar_scheme_t::field_dirichlet_fields |
Definition at line 118 of file scalar_scheme.f90.
type(gs_t), pointer scalar_scheme::scalar_scheme_t::gs_xh |
Gather-scatter associated with \( X_h \).
Definition at line 91 of file scalar_scheme.f90.
class(ksp_t), allocatable scalar_scheme::scalar_scheme_t::ksp |
Krylov solver.
Definition at line 99 of file scalar_scheme.f90.
integer scalar_scheme::scalar_scheme_t::ksp_maxiter |
Max iterations in the Krylov solver.
Definition at line 101 of file scalar_scheme.f90.
real(kind=rp), pointer scalar_scheme::scalar_scheme_t::lambda |
Thermal diffusivity.
Definition at line 138 of file scalar_scheme.f90.
type(mesh_t), pointer scalar_scheme::scalar_scheme_t::msh => null() |
Mesh.
Definition at line 134 of file scalar_scheme.f90.
integer scalar_scheme::scalar_scheme_t::n_dir_bcs = 0 |
Number of Dirichlet bcs.
Definition at line 124 of file scalar_scheme.f90.
integer scalar_scheme::scalar_scheme_t::n_neumann_bcs = 0 |
Number of Neumann bcs.
Definition at line 126 of file scalar_scheme.f90.
type(neumann_t), dimension(neko_msh_max_zlbls) scalar_scheme::scalar_scheme_t::neumann_bcs |
Neumann conditions.
Definition at line 120 of file scalar_scheme.f90.
type(json_file), pointer scalar_scheme::scalar_scheme_t::params |
Case paramters.
Definition at line 132 of file scalar_scheme.f90.
class(pc_t), allocatable scalar_scheme::scalar_scheme_t::pc |
Preconditioner.
Definition at line 107 of file scalar_scheme.f90.
integer scalar_scheme::scalar_scheme_t::projection_activ_step |
Definition at line 105 of file scalar_scheme.f90.
integer scalar_scheme::scalar_scheme_t::projection_dim |
Projection space size.
Steps to activate projection for ksp
Definition at line 103 of file scalar_scheme.f90.
real(kind=rp), pointer scalar_scheme::scalar_scheme_t::rho |
Density.
Definition at line 140 of file scalar_scheme.f90.
type(field_t), pointer scalar_scheme::scalar_scheme_t::s |
The scalar.
Definition at line 83 of file scalar_scheme.f90.
type(field_series_t) scalar_scheme::scalar_scheme_t::slag |
Lag arrays, i.e. solutions at previous timesteps.
Definition at line 85 of file scalar_scheme.f90.
type(scalar_source_term_t) scalar_scheme::scalar_scheme_t::source_term |
The source term for equation.
Definition at line 97 of file scalar_scheme.f90.
type(field_t), pointer scalar_scheme::scalar_scheme_t::u |
x-component of Velocity
Definition at line 77 of file scalar_scheme.f90.
type(usr_scalar_t) scalar_scheme::scalar_scheme_t::user_bc |
User Dirichlet conditions.
Definition at line 122 of file scalar_scheme.f90.
type(field_t), pointer scalar_scheme::scalar_scheme_t::v |
y-component of Velocity
Definition at line 79 of file scalar_scheme.f90.
type(field_t), pointer scalar_scheme::scalar_scheme_t::w |
z-component of Velocity
Definition at line 81 of file scalar_scheme.f90.
type(space_t), pointer scalar_scheme::scalar_scheme_t::xh |
Function space \( X_h \).
Definition at line 87 of file scalar_scheme.f90.