| 
    Neko 0.9.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 (this, msh, c_xh, gs_xh, params, scheme, user, rho) | 
| Constructor for the base type.   | |
| procedure, pass(this) | scheme_free (this) | 
| Destructor for the base type.   | |
| procedure, pass(this) | validate (this) | 
| Validate successful initialization.   | |
| procedure, pass(this) | set_user_bc (this, usr_eval) | 
Assigns the evaluation function for user_bc.   | |
| procedure, pass(this) | set_material_properties (this, params, user) | 
| Set lambda and cp.   | |
| procedure, pass(this) | update_material_properties (this) | 
| Update variable material properties.   | |
| procedure(scalar_scheme_init_intrf), deferred, pass | init (this, msh, coef, gs, params, user, ulag, vlag, wlag, time_scheme, rho) | 
| Constructor.   | |
| procedure(scalar_scheme_free_intrf), deferred, pass | free (this) | 
| Destructor.   | |
| procedure(scalar_scheme_step_intrf), deferred, pass | step (this, t, tstep, dt, ext_bdf, dt_controller) | 
| Solve for the current timestep.   | |
| procedure(scalar_scheme_restart_intrf), deferred, pass | restart (this, dtlag, tlag) | 
| Restart from a checkpoint.   | |
Public Attributes | |
| 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(dirichlet_t), dimension(neko_msh_max_zlbls) | dir_bcs | 
| Dirichlet conditions.   | |
| type(field_dirichlet_t) | field_dir_bc | 
| Field Dirichlet conditions.   | |
| type(bc_list_t) | field_dirichlet_bcs | 
| List of BC objects to pass to user_dirichlet_update.   | |
| type(neumann_t), dimension(neko_msh_max_zlbls) | neumann_bcs | 
| Neumann conditions.   | |
| type(usr_scalar_t) | user_bc | 
| User Dirichlet conditions.   | |
| integer | n_dir_bcs = 0 | 
| Number of Dirichlet bcs.   | |
| integer | n_neumann_bcs = 0 | 
| Number of Neumann bcs.   | |
| type(bc_list_t) | bclst_dirichlet | 
| List of Dirichlet boundary conditions, including the user one.   | |
| type(bc_list_t) | bclst_neumann | 
| List of Neumann conditions list.   | |
| type(json_file), pointer | params | 
| Case paramters.   | |
| type(mesh_t), pointer | msh => null() | 
| Mesh.   | |
| type(chkp_t) | chkp | 
| Checkpoint for restarts.   | |
| real(kind=rp) | lambda | 
| Thermal diffusivity.   | |
| type(field_t) | lambda_field | 
| The variable lambda field.   | |
| character(len=:), allocatable | nut_field_name | 
| The turbulent kinematic viscosity field name.   | |
| real(kind=rp) | rho | 
| Density.   | |
| real(kind=rp) | cp | 
| Specific heat capacity.   | |
| real(kind=rp) | pr_turb | 
| Turbulent Prandtl number.   | |
| logical | variable_material_properties = .false. | 
| Is lambda varying in time? Currently only due to LES models.   | |
| character(len=neko_msh_max_zlbl_len), dimension(:), allocatable | bc_labels | 
| Boundary condition labels (if any)   | |
| logical | if_gradient_jump_penalty | 
| Gradient jump panelty.   | |
| type(gradient_jump_penalty_t) | gradient_jump_penalty | 
Definition at line 79 of file scalar_scheme.f90.
      
  | 
  pure virtual | 
Definition at line 173 of file scalar_scheme.f90.
      
  | 
  pure virtual | 
Definition at line 171 of file scalar_scheme.f90.
      
  | 
  pure virtual | 
Definition at line 177 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 159 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(inout), target | msh, | ||
| type(coef_t), intent(inout), 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, | ||
| real(kind=rp), intent(in) | rho | ||
| ) | 
| msh | The mesh. | 
| c_Xh | The coefficients. | 
| gs_Xh | The gather-scatter. | 
| params | The case parameter file in json. | 
| scheme | The name of the scalar scheme. | 
| user | Type with user-defined procedures. | 
| rho | The density of the fluid. | 
Definition at line 157 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 parameter file. | 
| user | The user interface. | 
Definition at line 165 of file scalar_scheme.f90.
| procedure, pass(this) scalar_scheme::scalar_scheme_t::set_user_bc | ( | class(scalar_scheme_t), intent(inout) | this, | 
| procedure(usr_scalar_bc_eval) | usr_eval | ||
| ) | 
| usr_eval | User specified boundary condition for scalar field | 
Definition at line 163 of file scalar_scheme.f90.
      
  | 
  pure virtual | 
Definition at line 175 of file scalar_scheme.f90.
| procedure, pass(this) scalar_scheme::scalar_scheme_t::update_material_properties | ( | class(scalar_scheme_t), intent(inout) | this | ) | 
Definition at line 168 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 161 of file scalar_scheme.f90.
| character(len=neko_msh_max_zlbl_len), dimension(:), allocatable scalar_scheme::scalar_scheme_t::bc_labels | 
Definition at line 151 of file scalar_scheme.f90.
| type(bc_list_t) scalar_scheme::scalar_scheme_t::bclst_dirichlet | 
Definition at line 127 of file scalar_scheme.f90.
| type(bc_list_t) scalar_scheme::scalar_scheme_t::bclst_neumann | 
Definition at line 129 of file scalar_scheme.f90.
Definition at line 97 of file scalar_scheme.f90.
| type(chkp_t) scalar_scheme::scalar_scheme_t::chkp | 
Definition at line 135 of file scalar_scheme.f90.
Definition at line 145 of file scalar_scheme.f90.
| type(dirichlet_t), dimension(neko_msh_max_zlbls) scalar_scheme::scalar_scheme_t::dir_bcs | 
Definition at line 113 of file scalar_scheme.f90.
Definition at line 93 of file scalar_scheme.f90.
Definition at line 99 of file scalar_scheme.f90.
| type(field_dirichlet_t) scalar_scheme::scalar_scheme_t::field_dir_bc | 
Definition at line 115 of file scalar_scheme.f90.
| type(bc_list_t) scalar_scheme::scalar_scheme_t::field_dirichlet_bcs | 
Definition at line 117 of file scalar_scheme.f90.
| type(gradient_jump_penalty_t) scalar_scheme::scalar_scheme_t::gradient_jump_penalty | 
Definition at line 154 of file scalar_scheme.f90.
Definition at line 95 of file scalar_scheme.f90.
| logical scalar_scheme::scalar_scheme_t::if_gradient_jump_penalty | 
Definition at line 153 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 137 of file scalar_scheme.f90.
| type(field_t) scalar_scheme::scalar_scheme_t::lambda_field | 
Definition at line 139 of file scalar_scheme.f90.
Definition at line 133 of file scalar_scheme.f90.
| integer scalar_scheme::scalar_scheme_t::n_dir_bcs = 0 | 
Definition at line 123 of file scalar_scheme.f90.
| integer scalar_scheme::scalar_scheme_t::n_neumann_bcs = 0 | 
Definition at line 125 of file scalar_scheme.f90.
Definition at line 119 of file scalar_scheme.f90.
| character(len=:), allocatable scalar_scheme::scalar_scheme_t::nut_field_name | 
Definition at line 141 of file scalar_scheme.f90.
| type(json_file), pointer scalar_scheme::scalar_scheme_t::params | 
Definition at line 131 of file scalar_scheme.f90.
| class(pc_t), allocatable scalar_scheme::scalar_scheme_t::pc | 
Definition at line 111 of file scalar_scheme.f90.
Definition at line 147 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 143 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.
Definition at line 81 of file scalar_scheme.f90.
| type(usr_scalar_t) scalar_scheme::scalar_scheme_t::user_bc | 
Definition at line 121 of file scalar_scheme.f90.
Definition at line 83 of file scalar_scheme.f90.
| logical scalar_scheme::scalar_scheme_t::variable_material_properties = .false. | 
Definition at line 149 of file scalar_scheme.f90.
Definition at line 85 of file scalar_scheme.f90.
Definition at line 91 of file scalar_scheme.f90.