Neko  0.8.1
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:

Public Member Functions

procedure, pass(this) fluid_scheme_init_all
 
procedure, pass(this) fluid_scheme_init_uvw
 
procedure, pass(this) scheme_free => fluid_scheme_free
 
procedure, pass(this) validate => fluid_scheme_validate
 
procedure, pass(this) bc_apply_vel => fluid_scheme_bc_apply_vel
 
procedure, pass(this) bc_apply_prs => fluid_scheme_bc_apply_prs
 
procedure, pass(this) set_usr_inflow => fluid_scheme_set_usr_inflow
 
procedure, pass(this) compute_cfl => fluid_compute_cfl
 
procedure(fluid_scheme_init_intrf), deferred, pass init
 
procedure(fluid_scheme_free_intrf), deferred, pass free
 
procedure(fluid_scheme_step_intrf), deferred, pass step
 
procedure(fluid_scheme_restart_intrf), deferred, pass restart
 
generic scheme_init => fluid_scheme_init_all, fluid_scheme_init_uvw
 

Public 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(inflow_t), allocatable bc_inflow
 Dirichlet inflow for velocity. More...
 
type(field_dirichlet_vector_tbc_field_vel
 Field Dirichlet velocity condition. More...
 
type(field_dirichlet_tbc_field_prs
 Field Dirichlet pressure condition. 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
 List of fields to pass to user_dirichlet_update. 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(bc_list_tbclst_vel
 List of 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), pointer mu => null()
 Dynamic viscosity. More...
 
real(kind=rp), pointer rho => null()
 Density. 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

Base type of all fluid formulations.

Definition at line 82 of file fluid_scheme.f90.

Member Function/Subroutine Documentation

◆ bc_apply_prs()

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

Definition at line 146 of file fluid_scheme.f90.

◆ bc_apply_vel()

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

Definition at line 145 of file fluid_scheme.f90.

◆ compute_cfl()

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

Definition at line 148 of file fluid_scheme.f90.

◆ fluid_scheme_init_all()

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

Definition at line 141 of file fluid_scheme.f90.

◆ fluid_scheme_init_uvw()

procedure, pass(this) fluid_scheme::fluid_scheme_t::fluid_scheme_init_uvw

Definition at line 142 of file fluid_scheme.f90.

◆ free()

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

Definition at line 150 of file fluid_scheme.f90.

◆ init()

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

Definition at line 149 of file fluid_scheme.f90.

◆ restart()

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

Definition at line 152 of file fluid_scheme.f90.

◆ scheme_free()

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

Definition at line 143 of file fluid_scheme.f90.

◆ scheme_init()

generic fluid_scheme::fluid_scheme_t::scheme_init

Definition at line 153 of file fluid_scheme.f90.

Here is the call graph for this function:

◆ set_usr_inflow()

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

Definition at line 147 of file fluid_scheme.f90.

◆ step()

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

Definition at line 151 of file fluid_scheme.f90.

◆ validate()

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

Definition at line 144 of file fluid_scheme.f90.

Member Data Documentation

◆ bc_dong

type(dong_outflow_t) fluid_scheme::fluid_scheme_t::bc_dong

Dong outflow condition.

Definition at line 120 of file fluid_scheme.f90.

◆ bc_field_prs

type(field_dirichlet_t) fluid_scheme::fluid_scheme_t::bc_field_prs

Field Dirichlet pressure condition.

Definition at line 113 of file fluid_scheme.f90.

◆ bc_field_vel

type(field_dirichlet_vector_t) fluid_scheme::fluid_scheme_t::bc_field_vel

Field Dirichlet velocity condition.

Definition at line 112 of file fluid_scheme.f90.

◆ bc_inflow

class(inflow_t), allocatable fluid_scheme::fluid_scheme_t::bc_inflow

Dirichlet inflow for velocity.

Definition at line 109 of file fluid_scheme.f90.

◆ bc_labels

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

Boundary condition labels (if any)

Definition at line 139 of file fluid_scheme.f90.

◆ bc_prs

type(dirichlet_t) fluid_scheme::fluid_scheme_t::bc_prs

Dirichlet pressure condition.

Definition at line 119 of file fluid_scheme.f90.

◆ bc_sym

type(symmetry_t) fluid_scheme::fluid_scheme_t::bc_sym

Symmetry plane for velocity.

Definition at line 121 of file fluid_scheme.f90.

◆ bc_wall

type(no_slip_wall_t) fluid_scheme::fluid_scheme_t::bc_wall

No-slip wall for velocity.

Definition at line 108 of file fluid_scheme.f90.

◆ bclst_prs

type(bc_list_t) fluid_scheme::fluid_scheme_t::bclst_prs

List of pressure conditions.

Definition at line 123 of file fluid_scheme.f90.

◆ bclst_vel

type(bc_list_t) fluid_scheme::fluid_scheme_t::bclst_vel

List of velocity conditions.

Definition at line 122 of file fluid_scheme.f90.

◆ bdry

type(field_t) fluid_scheme::fluid_scheme_t::bdry

Boundary markings.

Definition at line 124 of file fluid_scheme.f90.

◆ c_xh

type(coef_t) fluid_scheme::fluid_scheme_t::c_xh

Coefficients associated with \( X_h \).

Definition at line 91 of file fluid_scheme.f90.

◆ chkp

type(chkp_t) fluid_scheme::fluid_scheme_t::chkp

Checkpoint.

Definition at line 127 of file fluid_scheme.f90.

◆ dirichlet_update_

procedure(field_dirichlet_update), pointer, nopass fluid_scheme::fluid_scheme_t::dirichlet_update_ => null()

Pointer to user_dirichlet_update to be called in fluid_scheme_step.

Definition at line 114 of file fluid_scheme.f90.

◆ dm_xh

type(dofmap_t) fluid_scheme::fluid_scheme_t::dm_xh

Dofmap associated with \( X_h \).

Definition at line 89 of file fluid_scheme.f90.

◆ f_x

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

X-component of the right-hand side.

Definition at line 95 of file fluid_scheme.f90.

◆ f_y

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

Y-component of the right-hand side.

Definition at line 97 of file fluid_scheme.f90.

◆ f_z

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

Z-component of the right-hand side.

Definition at line 99 of file fluid_scheme.f90.

◆ field_dirichlet_bcs

type(bc_list_t) fluid_scheme::fluid_scheme_t::field_dirichlet_bcs

List of BC objects to pass to user_dirichlet_update.

Definition at line 116 of file fluid_scheme.f90.

◆ field_dirichlet_fields

type(field_list_t) fluid_scheme::fluid_scheme_t::field_dirichlet_fields

List of fields to pass to user_dirichlet_update.

Definition at line 117 of file fluid_scheme.f90.

◆ forced_flow_rate

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

Is the flow rate forced?

Definition at line 131 of file fluid_scheme.f90.

◆ freeze

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

Freeze velocity at initial condition?

Definition at line 132 of file fluid_scheme.f90.

◆ gs_xh

type(gs_t) fluid_scheme::fluid_scheme_t::gs_xh

Gather-scatter associated with \( X_h \).

Definition at line 90 of file fluid_scheme.f90.

◆ ksp_prs

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

Krylov solver for pressure.

Definition at line 101 of file fluid_scheme.f90.

◆ ksp_vel

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

Krylov solver for velocity.

Definition at line 100 of file fluid_scheme.f90.

◆ mean

type(mean_flow_t) fluid_scheme::fluid_scheme_t::mean

Mean flow field.

Definition at line 128 of file fluid_scheme.f90.

◆ mean_sqr

type(mean_sqr_flow_t) fluid_scheme::fluid_scheme_t::mean_sqr

Mean squared flow field.

Definition at line 130 of file fluid_scheme.f90.

◆ msh

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

Mesh.

Definition at line 126 of file fluid_scheme.f90.

◆ mu

real(kind=rp), pointer fluid_scheme::fluid_scheme_t::mu => null()

Dynamic viscosity.

Definition at line 134 of file fluid_scheme.f90.

◆ p

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

Pressure.

Definition at line 86 of file fluid_scheme.f90.

◆ params

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

Parameters.

Definition at line 125 of file fluid_scheme.f90.

◆ pc_prs

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

Velocity Preconditioner.

Definition at line 103 of file fluid_scheme.f90.

◆ pc_vel

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

Velocity Preconditioner.

Definition at line 102 of file fluid_scheme.f90.

◆ pr_projection_activ_step

integer fluid_scheme::fluid_scheme_t::pr_projection_activ_step

Steps to activate projection for ksp_pr.

Definition at line 107 of file fluid_scheme.f90.

◆ pr_projection_dim

integer fluid_scheme::fluid_scheme_t::pr_projection_dim

Size of the projection space for ksp_pr.

Definition at line 105 of file fluid_scheme.f90.

◆ rho

real(kind=rp), pointer fluid_scheme::fluid_scheme_t::rho => null()

Density.

Definition at line 136 of file fluid_scheme.f90.

◆ scratch

type(scratch_registry_t) fluid_scheme::fluid_scheme_t::scratch

Manager for temporary fields.

Definition at line 137 of file fluid_scheme.f90.

◆ source_term

type(fluid_source_term_t) fluid_scheme::fluid_scheme_t::source_term

The source term for the momentum equation.

Definition at line 93 of file fluid_scheme.f90.

◆ stats

type(fluid_stats_t) fluid_scheme::fluid_scheme_t::stats

Fluid statistics.

Definition at line 129 of file fluid_scheme.f90.

◆ u

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

x-component of Velocity

Definition at line 83 of file fluid_scheme.f90.

◆ ulag

type(field_series_t) fluid_scheme::fluid_scheme_t::ulag

Definition at line 87 of file fluid_scheme.f90.

◆ v

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

y-component of Velocity

Definition at line 84 of file fluid_scheme.f90.

◆ vel_projection_activ_step

integer fluid_scheme::fluid_scheme_t::vel_projection_activ_step

Steps to activate projection for ksp_vel.

Definition at line 106 of file fluid_scheme.f90.

◆ vel_projection_dim

integer fluid_scheme::fluid_scheme_t::vel_projection_dim

Size of the projection space for ksp_vel.

Definition at line 104 of file fluid_scheme.f90.

◆ vlag

type(field_series_t) fluid_scheme::fluid_scheme_t::vlag

Definition at line 87 of file fluid_scheme.f90.

◆ w

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

z-component of Velocity

Definition at line 85 of file fluid_scheme.f90.

◆ wlag

type(field_series_t) fluid_scheme::fluid_scheme_t::wlag

fluid field (lag)

Definition at line 87 of file fluid_scheme.f90.

◆ xh

type(space_t) fluid_scheme::fluid_scheme_t::xh

Function space \( X_h \).

Definition at line 88 of file fluid_scheme.f90.


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