Neko  0.8.1
A portable framework for high-order spectral element flow simulations
scalar_scheme::scalar_scheme_t Type Reference

Base type for a scalar advection-diffusion solver. More...

Inheritance diagram for scalar_scheme::scalar_scheme_t:
Collaboration diagram for scalar_scheme::scalar_scheme_t:

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_tslag
 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_tsource_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_tfield_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_tfield_dirichlet_bcs
 List of BC objects to pass to user_dirichlet_update. More...
 
type(field_list_tfield_dirichlet_fields
 
type(neumann_t), dimension(neko_msh_max_zlbls) neumann_bcs
 Neumann conditions. More...
 
type(usr_scalar_tuser_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_tbclst_dirichlet
 List of Dirichlet boundary conditions, including the user one. More...
 
type(bc_list_tbclst_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_tchkp
 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...
 

Detailed Description

Base type for a scalar advection-diffusion solver.

Definition at line 75 of file scalar_scheme.f90.

Member Function/Subroutine Documentation

◆ free()

procedure(scalar_scheme_free_intrf), deferred, pass scalar_scheme::scalar_scheme_t::free

Destructor.

Definition at line 157 of file scalar_scheme.f90.

◆ init()

procedure(scalar_scheme_init_intrf), deferred, pass scalar_scheme::scalar_scheme_t::init

Constructor.

Definition at line 155 of file scalar_scheme.f90.

◆ restart()

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.

◆ scheme_free()

procedure, pass(this) scalar_scheme::scalar_scheme_t::scheme_free

Destructor for the base type.

Definition at line 149 of file scalar_scheme.f90.

◆ scheme_init()

procedure, pass(this) scalar_scheme::scalar_scheme_t::scheme_init

Constructor for the base type.

Definition at line 147 of file scalar_scheme.f90.

◆ set_user_bc()

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.

◆ step()

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.

◆ validate()

procedure, pass(this) scalar_scheme::scalar_scheme_t::validate

Validate successful initialization.

Definition at line 151 of file scalar_scheme.f90.

Member Data Documentation

◆ bc_labels

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.

◆ bclst_dirichlet

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.

◆ bclst_neumann

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.

◆ c_xh

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.

◆ chkp

type(chkp_t) scalar_scheme::scalar_scheme_t::chkp

Checkpoint for restarts.

Definition at line 136 of file scalar_scheme.f90.

◆ cp

real(kind=rp), pointer scalar_scheme::scalar_scheme_t::cp

Specific heat capacity.

Definition at line 142 of file scalar_scheme.f90.

◆ dir_bcs

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.

◆ dirichlet_update_

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.

◆ dm_xh

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.

◆ f_xh

type(field_t), pointer scalar_scheme::scalar_scheme_t::f_xh => null()

Right-hand side.

Definition at line 95 of file scalar_scheme.f90.

◆ field_dir_bc

type(field_dirichlet_t) scalar_scheme::scalar_scheme_t::field_dir_bc

Field Dirichlet conditions.

Definition at line 111 of file scalar_scheme.f90.

◆ field_dirichlet_bcs

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.

◆ field_dirichlet_fields

type(field_list_t) scalar_scheme::scalar_scheme_t::field_dirichlet_fields

Definition at line 118 of file scalar_scheme.f90.

◆ gs_xh

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.

◆ ksp

class(ksp_t), allocatable scalar_scheme::scalar_scheme_t::ksp

Krylov solver.

Definition at line 99 of file scalar_scheme.f90.

◆ ksp_maxiter

integer scalar_scheme::scalar_scheme_t::ksp_maxiter

Max iterations in the Krylov solver.

Definition at line 101 of file scalar_scheme.f90.

◆ lambda

real(kind=rp), pointer scalar_scheme::scalar_scheme_t::lambda

Thermal diffusivity.

Definition at line 138 of file scalar_scheme.f90.

◆ msh

type(mesh_t), pointer scalar_scheme::scalar_scheme_t::msh => null()

Mesh.

Definition at line 134 of file scalar_scheme.f90.

◆ n_dir_bcs

integer scalar_scheme::scalar_scheme_t::n_dir_bcs = 0

Number of Dirichlet bcs.

Definition at line 124 of file scalar_scheme.f90.

◆ n_neumann_bcs

integer scalar_scheme::scalar_scheme_t::n_neumann_bcs = 0

Number of Neumann bcs.

Definition at line 126 of file scalar_scheme.f90.

◆ neumann_bcs

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.

◆ params

type(json_file), pointer scalar_scheme::scalar_scheme_t::params

Case paramters.

Definition at line 132 of file scalar_scheme.f90.

◆ pc

class(pc_t), allocatable scalar_scheme::scalar_scheme_t::pc

Preconditioner.

Definition at line 107 of file scalar_scheme.f90.

◆ projection_activ_step

integer scalar_scheme::scalar_scheme_t::projection_activ_step

Definition at line 105 of file scalar_scheme.f90.

◆ projection_dim

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.

◆ rho

real(kind=rp), pointer scalar_scheme::scalar_scheme_t::rho

Density.

Definition at line 140 of file scalar_scheme.f90.

◆ s

type(field_t), pointer scalar_scheme::scalar_scheme_t::s

The scalar.

Definition at line 83 of file scalar_scheme.f90.

◆ slag

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.

◆ source_term

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.

◆ u

type(field_t), pointer scalar_scheme::scalar_scheme_t::u

x-component of Velocity

Definition at line 77 of file scalar_scheme.f90.

◆ user_bc

type(usr_scalar_t) scalar_scheme::scalar_scheme_t::user_bc

User Dirichlet conditions.

Definition at line 122 of file scalar_scheme.f90.

◆ v

type(field_t), pointer scalar_scheme::scalar_scheme_t::v

y-component of Velocity

Definition at line 79 of file scalar_scheme.f90.

◆ w

type(field_t), pointer scalar_scheme::scalar_scheme_t::w

z-component of Velocity

Definition at line 81 of file scalar_scheme.f90.

◆ xh

type(space_t), pointer scalar_scheme::scalar_scheme_t::xh

Function space \( X_h \).

Definition at line 87 of file scalar_scheme.f90.


The documentation for this type was generated from the following file: