Neko  0.9.99
A portable framework for high-order spectral element flow simulations
fluid_scheme::fluid_scheme_t Type Reference

Base type of all fluid formulations. More...

Inheritance diagram for fluid_scheme::fluid_scheme_t:
Collaboration diagram for fluid_scheme::fluid_scheme_t:

Private Member Functions

procedure, pass(this) fluid_scheme_init_all
 Constructor for the base type. More...
 
procedure, pass(this) fluid_scheme_init_common
 
generic scheme_init => fluid_scheme_init_all, fluid_scheme_init_common
 
procedure, pass(this) scheme_free => fluid_scheme_free
 Destructor for the base type. More...
 
procedure, pass(this) validate => fluid_scheme_validate
 Validate that all components are properly allocated. More...
 
procedure, pass(this) bc_apply_vel => fluid_scheme_bc_apply_vel
 Apply pressure boundary conditions. More...
 
procedure, pass(this) bc_apply_prs => fluid_scheme_bc_apply_prs
 Apply velocity boundary conditions. More...
 
procedure, pass(this) set_usr_inflow => fluid_scheme_set_usr_inflow
 Set the user inflow procedure. More...
 
procedure, pass(this) compute_cfl => fluid_compute_cfl
 Compute the CFL number. More...
 
procedure, pass(this) set_material_properties => fluid_scheme_set_material_properties
 Set rho and mu. More...
 
procedure(fluid_scheme_init_intrf), deferred, pass init
 Constructor. More...
 
procedure(fluid_scheme_free_intrf), deferred, pass free
 Destructor. More...
 
procedure(fluid_scheme_step_intrf), deferred, pass step
 Advance one step in time. More...
 
procedure(fluid_scheme_restart_intrf), deferred, pass restart
 Restart from a checkpoint. More...
 
procedure, pass(this), private set_bc_type_output => fluid_scheme_set_bc_type_output
 
procedure, pass(this) update_material_properties => fluid_scheme_update_material_properties
 Update variable material properties. More...
 

Private Attributes

type(field_t), pointer u => null()
 x-component of Velocity More...
 
type(field_t), pointer v => null()
 y-component of Velocity More...
 
type(field_t), pointer w => null()
 z-component of Velocity More...
 
type(field_t), pointer p => null()
 Pressure. More...
 
type(field_series_tulag
 
type(field_series_tvlag
 
type(field_series_twlag
 fluid field (lag) More...
 
type(space_txh
 Function space \( X_h \). More...
 
type(dofmap_tdm_xh
 Dofmap associated with \( X_h \). More...
 
type(gs_tgs_xh
 Gather-scatter associated with \( X_h \). More...
 
type(coef_tc_xh
 Coefficients associated with \( X_h \). More...
 
type(fluid_source_term_tsource_term
 The source term for the momentum equation. More...
 
type(field_t), pointer f_x => null()
 X-component of the right-hand side. More...
 
type(field_t), pointer f_y => null()
 Y-component of the right-hand side. More...
 
type(field_t), pointer f_z => null()
 Z-component of the right-hand side. More...
 
class(ksp_t), allocatable ksp_vel
 Krylov solver for velocity. More...
 
class(ksp_t), allocatable ksp_prs
 Krylov solver for pressure. More...
 
class(pc_t), allocatable pc_vel
 Velocity Preconditioner. More...
 
class(pc_t), allocatable pc_prs
 Velocity Preconditioner. More...
 
integer vel_projection_dim
 Size of the projection space for ksp_vel. More...
 
integer pr_projection_dim
 Size of the projection space for ksp_pr. More...
 
integer vel_projection_activ_step
 Steps to activate projection for ksp_vel. More...
 
integer pr_projection_activ_step
 Steps to activate projection for ksp_pr. More...
 
type(no_slip_wall_tbc_wall
 No-slip wall for velocity. More...
 
class(bc_t), allocatable bc_inflow
 Dirichlet inflow for velocity. More...
 
type(wall_model_bc_tbc_wallmodel
 Wall model boundary condition. More...
 
logical if_gradient_jump_penalty
 Gradient jump panelty. More...
 
type(gradient_jump_penalty_tgradient_jump_penalty_u
 
type(gradient_jump_penalty_tgradient_jump_penalty_v
 
type(gradient_jump_penalty_tgradient_jump_penalty_w
 
type(field_dirichlet_vector_tuser_field_bc_vel
 User-computed Dirichlet velocity condition. More...
 
type(field_dirichlet_tuser_field_bc_prs
 User-computed Dirichlet pressure condition. More...
 
type(dirichlet_tbc_prs
 Dirichlet pressure condition. More...
 
type(dong_outflow_tbc_dong
 Dong outflow condition. More...
 
type(symmetry_tbc_sym
 Symmetry plane for velocity. More...
 
type(shear_stress_tbc_sh
 Symmetry plane for velocity. More...
 
type(bc_list_tbclst_vel
 List of velocity conditions. More...
 
type(bc_list_tbclst_vel_neumann
 List of neumann velocity conditions. More...
 
type(bc_list_tbclst_prs
 List of pressure conditions. More...
 
type(field_tbdry
 Boundary markings. More...
 
type(json_file), pointer params
 Parameters. More...
 
type(mesh_t), pointer msh => null()
 Mesh. More...
 
type(chkp_tchkp
 Checkpoint. More...
 
type(mean_flow_tmean
 Mean flow field. More...
 
type(fluid_stats_tstats
 Fluid statistics. More...
 
type(mean_sqr_flow_tmean_sqr
 Mean squared flow field. More...
 
logical forced_flow_rate = .false.
 Is the flow rate forced? More...
 
logical freeze = .false.
 Freeze velocity at initial condition? More...
 
real(kind=rp) mu
 Dynamic viscosity. More...
 
type(field_tmu_field
 The variable mu field. More...
 
character(len=:), allocatable nut_field_name
 The turbulent kinematic viscosity field name. More...
 
logical variable_material_properties = .false.
 Is mu varying in time? Currently only due to LES models. More...
 
real(kind=rp) rho
 Density. More...
 
type(field_trho_field
 The variable density field. More...
 
type(scratch_registry_tscratch
 Manager for temporary fields. More...
 
character(len=neko_msh_max_zlbl_len), dimension(:), allocatable bc_labels
 Boundary condition labels (if any) More...
 

Detailed Description

Definition at line 89 of file fluid_scheme.f90.

Member Function/Subroutine Documentation

◆ bc_apply_prs()

procedure, pass(this) fluid_scheme::fluid_scheme_t::bc_apply_prs
private

Definition at line 170 of file fluid_scheme.f90.

◆ bc_apply_vel()

procedure, pass(this) fluid_scheme::fluid_scheme_t::bc_apply_vel
private

Definition at line 168 of file fluid_scheme.f90.

◆ compute_cfl()

procedure, pass(this) fluid_scheme::fluid_scheme_t::compute_cfl
private

Definition at line 174 of file fluid_scheme.f90.

◆ fluid_scheme_init_all()

procedure, pass(this) fluid_scheme::fluid_scheme_t::fluid_scheme_init_all
private

Definition at line 160 of file fluid_scheme.f90.

◆ fluid_scheme_init_common()

procedure, pass(this) fluid_scheme::fluid_scheme_t::fluid_scheme_init_common
private

Definition at line 161 of file fluid_scheme.f90.

◆ free()

procedure(fluid_scheme_free_intrf), deferred, pass fluid_scheme::fluid_scheme_t::free
private

Definition at line 181 of file fluid_scheme.f90.

◆ init()

procedure(fluid_scheme_init_intrf), deferred, pass fluid_scheme::fluid_scheme_t::init
private

Definition at line 179 of file fluid_scheme.f90.

◆ restart()

procedure(fluid_scheme_restart_intrf), deferred, pass fluid_scheme::fluid_scheme_t::restart
private

Definition at line 185 of file fluid_scheme.f90.

◆ scheme_free()

procedure, pass(this) fluid_scheme::fluid_scheme_t::scheme_free
private

Definition at line 164 of file fluid_scheme.f90.

◆ scheme_init()

generic fluid_scheme::fluid_scheme_t::scheme_init
private

Definition at line 162 of file fluid_scheme.f90.

Here is the call graph for this function:

◆ set_bc_type_output()

procedure, pass(this), private fluid_scheme::fluid_scheme_t::set_bc_type_output
private

Definition at line 186 of file fluid_scheme.f90.

◆ set_material_properties()

procedure, pass(this) fluid_scheme::fluid_scheme_t::set_material_properties
private

Definition at line 176 of file fluid_scheme.f90.

◆ set_usr_inflow()

procedure, pass(this) fluid_scheme::fluid_scheme_t::set_usr_inflow
private

Definition at line 172 of file fluid_scheme.f90.

◆ step()

procedure(fluid_scheme_step_intrf), deferred, pass fluid_scheme::fluid_scheme_t::step
private

Definition at line 183 of file fluid_scheme.f90.

◆ update_material_properties()

procedure, pass(this) fluid_scheme::fluid_scheme_t::update_material_properties
private

Definition at line 189 of file fluid_scheme.f90.

◆ validate()

procedure, pass(this) fluid_scheme::fluid_scheme_t::validate
private

Definition at line 166 of file fluid_scheme.f90.

Member Data Documentation

◆ bc_dong

type(dong_outflow_t) fluid_scheme::fluid_scheme_t::bc_dong
private

Definition at line 128 of file fluid_scheme.f90.

◆ bc_inflow

class(bc_t), allocatable fluid_scheme::fluid_scheme_t::bc_inflow
private

Definition at line 116 of file fluid_scheme.f90.

◆ bc_labels

character(len=neko_msh_max_zlbl_len), dimension(:), allocatable fluid_scheme::fluid_scheme_t::bc_labels
private

Definition at line 157 of file fluid_scheme.f90.

◆ bc_prs

type(dirichlet_t) fluid_scheme::fluid_scheme_t::bc_prs
private

Definition at line 127 of file fluid_scheme.f90.

◆ bc_sh

type(shear_stress_t) fluid_scheme::fluid_scheme_t::bc_sh
private

Definition at line 130 of file fluid_scheme.f90.

◆ bc_sym

type(symmetry_t) fluid_scheme::fluid_scheme_t::bc_sym
private

Definition at line 129 of file fluid_scheme.f90.

◆ bc_wall

type(no_slip_wall_t) fluid_scheme::fluid_scheme_t::bc_wall
private

Definition at line 115 of file fluid_scheme.f90.

◆ bc_wallmodel

type(wall_model_bc_t) fluid_scheme::fluid_scheme_t::bc_wallmodel
private

Definition at line 117 of file fluid_scheme.f90.

◆ bclst_prs

type(bc_list_t) fluid_scheme::fluid_scheme_t::bclst_prs
private

Definition at line 133 of file fluid_scheme.f90.

◆ bclst_vel

type(bc_list_t) fluid_scheme::fluid_scheme_t::bclst_vel
private

Definition at line 131 of file fluid_scheme.f90.

◆ bclst_vel_neumann

type(bc_list_t) fluid_scheme::fluid_scheme_t::bclst_vel_neumann
private

Definition at line 132 of file fluid_scheme.f90.

◆ bdry

type(field_t) fluid_scheme::fluid_scheme_t::bdry
private

Definition at line 134 of file fluid_scheme.f90.

◆ c_xh

type(coef_t) fluid_scheme::fluid_scheme_t::c_xh
private

Definition at line 98 of file fluid_scheme.f90.

◆ chkp

type(chkp_t) fluid_scheme::fluid_scheme_t::chkp
private

Definition at line 137 of file fluid_scheme.f90.

◆ dm_xh

type(dofmap_t) fluid_scheme::fluid_scheme_t::dm_xh
private

Definition at line 96 of file fluid_scheme.f90.

◆ f_x

type(field_t), pointer fluid_scheme::fluid_scheme_t::f_x => null()
private

Definition at line 102 of file fluid_scheme.f90.

◆ f_y

type(field_t), pointer fluid_scheme::fluid_scheme_t::f_y => null()
private

Definition at line 104 of file fluid_scheme.f90.

◆ f_z

type(field_t), pointer fluid_scheme::fluid_scheme_t::f_z => null()
private

Definition at line 106 of file fluid_scheme.f90.

◆ forced_flow_rate

logical fluid_scheme::fluid_scheme_t::forced_flow_rate = .false.
private

Definition at line 141 of file fluid_scheme.f90.

◆ freeze

logical fluid_scheme::fluid_scheme_t::freeze = .false.
private

Definition at line 142 of file fluid_scheme.f90.

◆ gradient_jump_penalty_u

type(gradient_jump_penalty_t) fluid_scheme::fluid_scheme_t::gradient_jump_penalty_u
private

Definition at line 120 of file fluid_scheme.f90.

◆ gradient_jump_penalty_v

type(gradient_jump_penalty_t) fluid_scheme::fluid_scheme_t::gradient_jump_penalty_v
private

Definition at line 121 of file fluid_scheme.f90.

◆ gradient_jump_penalty_w

type(gradient_jump_penalty_t) fluid_scheme::fluid_scheme_t::gradient_jump_penalty_w
private

Definition at line 122 of file fluid_scheme.f90.

◆ gs_xh

type(gs_t) fluid_scheme::fluid_scheme_t::gs_xh
private

Definition at line 97 of file fluid_scheme.f90.

◆ if_gradient_jump_penalty

logical fluid_scheme::fluid_scheme_t::if_gradient_jump_penalty
private

Definition at line 119 of file fluid_scheme.f90.

◆ ksp_prs

class(ksp_t), allocatable fluid_scheme::fluid_scheme_t::ksp_prs
private

Definition at line 108 of file fluid_scheme.f90.

◆ ksp_vel

class(ksp_t), allocatable fluid_scheme::fluid_scheme_t::ksp_vel
private

Definition at line 107 of file fluid_scheme.f90.

◆ mean

type(mean_flow_t) fluid_scheme::fluid_scheme_t::mean
private

Definition at line 138 of file fluid_scheme.f90.

◆ mean_sqr

type(mean_sqr_flow_t) fluid_scheme::fluid_scheme_t::mean_sqr
private

Definition at line 140 of file fluid_scheme.f90.

◆ msh

type(mesh_t), pointer fluid_scheme::fluid_scheme_t::msh => null()
private

Definition at line 136 of file fluid_scheme.f90.

◆ mu

real(kind=rp) fluid_scheme::fluid_scheme_t::mu
private

Definition at line 144 of file fluid_scheme.f90.

◆ mu_field

type(field_t) fluid_scheme::fluid_scheme_t::mu_field
private

Definition at line 146 of file fluid_scheme.f90.

◆ nut_field_name

character(len=:), allocatable fluid_scheme::fluid_scheme_t::nut_field_name
private

Definition at line 148 of file fluid_scheme.f90.

◆ p

type(field_t), pointer fluid_scheme::fluid_scheme_t::p => null()
private

Definition at line 93 of file fluid_scheme.f90.

◆ params

type(json_file), pointer fluid_scheme::fluid_scheme_t::params
private

Definition at line 135 of file fluid_scheme.f90.

◆ pc_prs

class(pc_t), allocatable fluid_scheme::fluid_scheme_t::pc_prs
private

Definition at line 110 of file fluid_scheme.f90.

◆ pc_vel

class(pc_t), allocatable fluid_scheme::fluid_scheme_t::pc_vel
private

Definition at line 109 of file fluid_scheme.f90.

◆ pr_projection_activ_step

integer fluid_scheme::fluid_scheme_t::pr_projection_activ_step
private

Definition at line 114 of file fluid_scheme.f90.

◆ pr_projection_dim

integer fluid_scheme::fluid_scheme_t::pr_projection_dim
private

Definition at line 112 of file fluid_scheme.f90.

◆ rho

real(kind=rp) fluid_scheme::fluid_scheme_t::rho
private

Definition at line 152 of file fluid_scheme.f90.

◆ rho_field

type(field_t) fluid_scheme::fluid_scheme_t::rho_field
private

Definition at line 154 of file fluid_scheme.f90.

◆ scratch

type(scratch_registry_t) fluid_scheme::fluid_scheme_t::scratch
private

Definition at line 155 of file fluid_scheme.f90.

◆ source_term

type(fluid_source_term_t) fluid_scheme::fluid_scheme_t::source_term
private

Definition at line 100 of file fluid_scheme.f90.

◆ stats

type(fluid_stats_t) fluid_scheme::fluid_scheme_t::stats
private

Definition at line 139 of file fluid_scheme.f90.

◆ u

type(field_t), pointer fluid_scheme::fluid_scheme_t::u => null()
private

Definition at line 90 of file fluid_scheme.f90.

◆ ulag

type(field_series_t) fluid_scheme::fluid_scheme_t::ulag
private

Definition at line 94 of file fluid_scheme.f90.

◆ user_field_bc_prs

type(field_dirichlet_t) fluid_scheme::fluid_scheme_t::user_field_bc_prs
private

Definition at line 126 of file fluid_scheme.f90.

◆ user_field_bc_vel

type(field_dirichlet_vector_t) fluid_scheme::fluid_scheme_t::user_field_bc_vel
private

Definition at line 125 of file fluid_scheme.f90.

◆ v

type(field_t), pointer fluid_scheme::fluid_scheme_t::v => null()
private

Definition at line 91 of file fluid_scheme.f90.

◆ variable_material_properties

logical fluid_scheme::fluid_scheme_t::variable_material_properties = .false.
private

Definition at line 150 of file fluid_scheme.f90.

◆ vel_projection_activ_step

integer fluid_scheme::fluid_scheme_t::vel_projection_activ_step
private

Definition at line 113 of file fluid_scheme.f90.

◆ vel_projection_dim

integer fluid_scheme::fluid_scheme_t::vel_projection_dim
private

Definition at line 111 of file fluid_scheme.f90.

◆ vlag

type(field_series_t) fluid_scheme::fluid_scheme_t::vlag
private

Definition at line 94 of file fluid_scheme.f90.

◆ w

type(field_t), pointer fluid_scheme::fluid_scheme_t::w => null()
private

Definition at line 92 of file fluid_scheme.f90.

◆ wlag

type(field_series_t) fluid_scheme::fluid_scheme_t::wlag
private

Definition at line 94 of file fluid_scheme.f90.

◆ xh

type(space_t) fluid_scheme::fluid_scheme_t::xh
private

Definition at line 95 of file fluid_scheme.f90.


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