Processing math: 100%
Neko 0.9.99
A portable framework for high-order spectral element flow simulations
All Classes Namespaces Files Functions Variables Typedefs Enumerator Macros Pages
fluid_scheme_incompressible::fluid_scheme_incompressible_t Type Referenceabstract

Base type of all fluid formulations. More...

Inheritance diagram for fluid_scheme_incompressible::fluid_scheme_incompressible_t:
Collaboration diagram for fluid_scheme_incompressible::fluid_scheme_incompressible_t:

Public Member Functions

procedure, pass(thisinit_base (this, msh, lx, params, scheme, user, kspv_init)
 Constructor for the base type.
 
procedure, pass(thisscheme_free (this)
 
procedure, pass(thisvalidate (this)
 Validate that all components are properly allocated.
 
procedure, pass(thisbc_apply_vel (this, t, tstep, strong)
 Apply pressure boundary conditions.
 
procedure, pass(thisbc_apply_prs (this, t, tstep)
 Apply velocity boundary conditions.
 
procedure, pass(thiscompute_cfl (this, dt)
 Compute the CFL number.
 
procedure, pass(thisset_material_properties (this, params, user)
 Set rho and mu.
 
procedure, pass(thisupdate_material_properties (this)
 Update variable material properties.
 
procedure, pass(thisprecon_factory_ (this, pc, ksp, coef, dof, gs, bclst, pctype)
 Preconditioner factory.
 
procedure(fluid_scheme_base_init_intrf), deferred, pass init (this, msh, lx, params, user)
 Constructor.
 
procedure(fluid_scheme_base_free_intrf), deferred, pass free (this)
 Destructor.
 
procedure(fluid_scheme_base_step_intrf), deferred, pass step (this, t, tstep, dt, ext_bdf, dt_controller)
 Advance one step in time.
 
procedure(fluid_scheme_base_restart_intrf), deferred, pass restart (this, dtlag, tlag)
 Restart from a checkpoint.
 
procedure(fluid_scheme_setup_bcs_intrf), deferred, pass setup_bcs (this, user, params)
 
procedure(validate_intrf), deferred, pass validate (this)
 Set the user inflow.
 
procedure(fluid_scheme_base_compute_cfl_intrf), deferred, pass compute_cfl (this, dt)
 Compute the CFL number.
 
procedure(update_material_properties), deferred, pass update_material_properties (this)
 Set rho and mu.
 

Static Public Member Functions

procedure, nopass solver_factory (ksp, n, solver, max_iter, abstol, monitor)
 Linear solver factory, wraps a KSP constructor.
 

Public Attributes

type(fluid_source_term_tsource_term
 The source term for the momentum equation.
 
class(ksp_t), allocatable ksp_vel
 Krylov solver for velocity.
 
class(ksp_t), allocatable ksp_prs
 Krylov solver for pressure.
 
class(pc_t), allocatable pc_vel
 Velocity Preconditioner.
 
class(pc_t), allocatable pc_prs
 Velocity Preconditioner.
 
integer vel_projection_dim
 Size of the projection space for ksp_vel.
 
integer pr_projection_dim
 Size of the projection space for ksp_pr.
 
integer vel_projection_activ_step
 Steps to activate projection for ksp_vel.
 
integer pr_projection_activ_step
 Steps to activate projection for ksp_pr.
 
logical strict_convergence
 Strict convergence for the velocity solver.
 
logical if_gradient_jump_penalty
 Gradient jump panelty.
 
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_t), pointer u_e => null()
 Extrapolation velocity fields for LES.
 
type(field_t), pointer v_e => null()
 Extrapolated y-Velocity.
 
type(field_t), pointer w_e => null()
 Extrapolated z-Velocity.
 
type(mean_flow_tmean
 Mean flow field.
 
type(fluid_stats_tstats
 Fluid statistics.
 
type(mean_sqr_flow_tmean_sqr
 Mean squared flow field.
 
logical forced_flow_rate = .false.
 Is the flow rate forced?
 
character(len=:), allocatable nut_field_name
 The turbulent kinematic viscosity field name.
 
integer(kind=i8) glb_n_points
 Global number of GLL points for the fluid (not unique)
 
integer(kind=i8) glb_unique_points
 Global number of GLL points for the fluid (unique)
 
type(scratch_registry_tscratch
 Manager for temporary fields.
 
type(space_txh
 Function space X_h .
 
type(dofmap_tdm_xh
 Dofmap associated with X_h .
 
type(gs_tgs_xh
 Gather-scatter associated with X_h .
 
type(coef_tc_xh
 Coefficients associated with X_h .
 
type(time_scheme_controller_t), allocatable ext_bdf
 
type(field_t), pointer u => null()
 The velocity field.
 
type(field_t), pointer v => null()
 y-component of Velocity
 
type(field_t), pointer w => null()
 z-component of Velocity
 
type(field_t), pointer p => null()
 Pressure.
 
type(field_series_tulag
 
type(field_series_tvlag
 
type(field_series_twlag
 fluid field (lag)
 
real(kind=rp) rho
 Density.
 
type(field_trho_field
 
type(field_t), pointer f_x => null()
 X-component of the right-hand side.
 
type(field_t), pointer f_y => null()
 Y-component of the right-hand side.
 
type(field_t), pointer f_z => null()
 Z-component of the right-hand side.
 
type(bc_list_tbcs_prs
 Boundary conditions.
 
type(bc_list_tbcs_vel
 
type(json_file), pointer params
 Parameters.
 
type(mesh_t), pointer msh => null()
 Mesh.
 
type(chkp_tchkp
 Checkpoint.
 
character(len=neko_msh_max_zlbl_len), dimension(:), allocatable bc_labels
 Boundary condition labels (if any)
 
real(kind=rp) mu
 Dynamic viscosity.
 
type(field_tmu_field
 The variable mu field.
 
logical variable_material_properties = .false.
 Is mu varying in time? Currently only due to LES models.
 
logical freeze = .false.
 Is the fluid frozen at the moment.
 

Detailed Description

Definition at line 88 of file fluid_scheme_incompressible.f90.

Member Function/Subroutine Documentation

◆ bc_apply_prs()

procedure, pass(this) fluid_scheme_incompressible::fluid_scheme_incompressible_t::bc_apply_prs ( class(fluid_scheme_incompressible_t), intent(inout this,
real(kind=rp), intent(in t,
integer, intent(in tstep 
)
Todo:
Why can't we call the interface here?

Definition at line 132 of file fluid_scheme_incompressible.f90.

◆ bc_apply_vel()

procedure, pass(this) fluid_scheme_incompressible::fluid_scheme_incompressible_t::bc_apply_vel ( class(fluid_scheme_incompressible_t), intent(inout this,
real(kind=rp), intent(in t,
integer, intent(in tstep,
logical, intent(in strong 
)
Todo:
Why can't we call the interface here?

Definition at line 130 of file fluid_scheme_incompressible.f90.

◆ compute_cfl() [1/2]

procedure(fluid_scheme_base_compute_cfl_intrf), deferred, pass fluid_scheme_base::fluid_scheme_base_t::compute_cfl ( class(fluid_scheme_base_t), intent(in this,
real(kind=rp), intent(in dt 
)
pure virtualinherited

Definition at line 124 of file fluid_scheme_base.f90.

◆ compute_cfl() [2/2]

procedure, pass(this) fluid_scheme_incompressible::fluid_scheme_incompressible_t::compute_cfl ( class(fluid_scheme_incompressible_t), intent(in this,
real(kind=rp), intent(in dt 
)

Definition at line 134 of file fluid_scheme_incompressible.f90.

◆ free()

procedure(fluid_scheme_base_free_intrf), deferred, pass fluid_scheme_base::fluid_scheme_base_t::free ( class(fluid_scheme_base_t), intent(inout this)
pure virtualinherited

Definition at line 113 of file fluid_scheme_base.f90.

◆ init()

procedure(fluid_scheme_base_init_intrf), deferred, pass fluid_scheme_base::fluid_scheme_base_t::init ( class(fluid_scheme_base_t), intent(inout), target  this,
type(mesh_t), intent(inout), target  msh,
integer, intent(in lx,
type(json_file), intent(inout), target  params,
type(user_t), intent(in), target  user 
)
pure virtualinherited

Definition at line 111 of file fluid_scheme_base.f90.

◆ init_base()

procedure, pass(this) fluid_scheme_incompressible::fluid_scheme_incompressible_t::init_base ( class(fluid_scheme_incompressible_t), intent(inout), target  this,
type(mesh_t), intent(inout), target  msh,
integer, intent(in lx,
type(json_file), intent(inout), target  params,
character(len=*), intent(in scheme,
type(user_t), intent(in), target  user,
logical, intent(in kspv_init 
)

Initialize common data for the current scheme

Definition at line 125 of file fluid_scheme_incompressible.f90.

◆ precon_factory_()

procedure, pass(this) fluid_scheme_incompressible::fluid_scheme_incompressible_t::precon_factory_ ( class(fluid_scheme_incompressible_t), intent(inout this,
class(pc_t), intent(inout), allocatable, target  pc,
class(ksp_t), intent(inout), target  ksp,
type(coef_t), intent(in), target  coef,
type(dofmap_t), intent(in), target  dof,
type(gs_t), intent(inout), target  gs,
type(bc_list_t), intent(inout), target  bclst,
character(len=*)  pctype 
)

Definition at line 145 of file fluid_scheme_incompressible.f90.

◆ restart()

procedure(fluid_scheme_base_restart_intrf), deferred, pass fluid_scheme_base::fluid_scheme_base_t::restart ( class(fluid_scheme_base_t), intent(inout), target  this,
real(kind=rp), dimension(10)  dtlag,
real(kind=rp), dimension(10)  tlag 
)
pure virtualinherited

Definition at line 117 of file fluid_scheme_base.f90.

◆ scheme_free()

procedure, pass(this) fluid_scheme_incompressible::fluid_scheme_incompressible_t::scheme_free ( class(fluid_scheme_incompressible_t), intent(inout this)

Definition at line 126 of file fluid_scheme_incompressible.f90.

◆ set_material_properties()

procedure, pass(this) fluid_scheme_incompressible::fluid_scheme_incompressible_t::set_material_properties ( class(fluid_scheme_incompressible_t), intent(inout this,
type(json_file), intent(inout params,
type(user_t), intent(in), target  user 
)
Parameters
paramsThe case paramter file.
userThe user interface.

Definition at line 136 of file fluid_scheme_incompressible.f90.

◆ setup_bcs()

procedure(fluid_scheme_setup_bcs_intrf), deferred, pass fluid_scheme_base::fluid_scheme_base_t::setup_bcs ( class(fluid_scheme_base_t), intent(inout this,
type(user_t), intent(in), target  user,
type(json_file), intent(inout params 
)
pure virtualinherited

Definition at line 119 of file fluid_scheme_base.f90.

◆ solver_factory()

procedure, nopass fluid_scheme_incompressible::fluid_scheme_incompressible_t::solver_factory ( class(ksp_t), intent(inout), allocatable, target  ksp,
integer, intent(in), value  n,
character(len=*), intent(in solver,
integer, intent(in max_iter,
real(kind=rp), intent(in abstol,
logical, intent(in monitor 
)
static
Note
Currently only supporting Krylov solvers

Definition at line 143 of file fluid_scheme_incompressible.f90.

◆ step()

procedure(fluid_scheme_base_step_intrf), deferred, pass fluid_scheme_base::fluid_scheme_base_t::step ( class(fluid_scheme_base_t), intent(inout), target  this,
real(kind=rp), intent(in t,
integer, intent(in tstep,
real(kind=rp), intent(in dt,
type(time_scheme_controller_t), intent(in ext_bdf,
type(time_step_controller_t), intent(in dt_controller 
)
pure virtualinherited

Definition at line 115 of file fluid_scheme_base.f90.

◆ update_material_properties() [1/2]

procedure(update_material_properties), deferred, pass fluid_scheme_base::fluid_scheme_base_t::update_material_properties ( class(fluid_scheme_base_t), intent(inout this)
pure virtualinherited

Definition at line 126 of file fluid_scheme_base.f90.

◆ update_material_properties() [2/2]

procedure, pass(this) fluid_scheme_incompressible::fluid_scheme_incompressible_t::update_material_properties ( class(fluid_scheme_incompressible_t), intent(inout this)

Definition at line 140 of file fluid_scheme_incompressible.f90.

◆ validate() [1/2]

procedure(validate_intrf), deferred, pass fluid_scheme_base::fluid_scheme_base_t::validate ( class(fluid_scheme_base_t), intent(inout), target  this)
pure virtualinherited

Definition at line 122 of file fluid_scheme_base.f90.

◆ validate() [2/2]

procedure, pass(this) fluid_scheme_incompressible::fluid_scheme_incompressible_t::validate ( class(fluid_scheme_incompressible_t), intent(inout), target  this)

Definition at line 128 of file fluid_scheme_incompressible.f90.

Member Data Documentation

◆ bc_labels

character(len=neko_msh_max_zlbl_len), dimension(:), allocatable fluid_scheme_base::fluid_scheme_base_t::bc_labels
inherited

Definition at line 96 of file fluid_scheme_base.f90.

◆ bcs_prs

type(bc_list_t) fluid_scheme_base::fluid_scheme_base_t::bcs_prs
inherited

Definition at line 87 of file fluid_scheme_base.f90.

◆ bcs_vel

type(bc_list_t) fluid_scheme_base::fluid_scheme_base_t::bcs_vel
inherited

Definition at line 89 of file fluid_scheme_base.f90.

◆ c_xh

type(coef_t) fluid_scheme_base::fluid_scheme_base_t::c_xh
inherited

Definition at line 63 of file fluid_scheme_base.f90.

◆ chkp

type(chkp_t) fluid_scheme_base::fluid_scheme_base_t::chkp
inherited

Definition at line 93 of file fluid_scheme_base.f90.

◆ dm_xh

type(dofmap_t) fluid_scheme_base::fluid_scheme_base_t::dm_xh
inherited

Definition at line 61 of file fluid_scheme_base.f90.

◆ ext_bdf

type(time_scheme_controller_t), allocatable fluid_scheme_base::fluid_scheme_base_t::ext_bdf
inherited

Definition at line 65 of file fluid_scheme_base.f90.

◆ f_x

type(field_t), pointer fluid_scheme_base::fluid_scheme_base_t::f_x => null()
inherited

Definition at line 79 of file fluid_scheme_base.f90.

◆ f_y

type(field_t), pointer fluid_scheme_base::fluid_scheme_base_t::f_y => null()
inherited

Definition at line 81 of file fluid_scheme_base.f90.

◆ f_z

type(field_t), pointer fluid_scheme_base::fluid_scheme_base_t::f_z => null()
inherited

Definition at line 83 of file fluid_scheme_base.f90.

◆ forced_flow_rate

logical fluid_scheme_incompressible::fluid_scheme_incompressible_t::forced_flow_rate = .false.

Definition at line 113 of file fluid_scheme_incompressible.f90.

◆ freeze

logical fluid_scheme_base::fluid_scheme_base_t::freeze = .false.
inherited

Definition at line 107 of file fluid_scheme_base.f90.

◆ glb_n_points

integer(kind=i8) fluid_scheme_incompressible::fluid_scheme_incompressible_t::glb_n_points

Definition at line 119 of file fluid_scheme_incompressible.f90.

◆ glb_unique_points

integer(kind=i8) fluid_scheme_incompressible::fluid_scheme_incompressible_t::glb_unique_points

Definition at line 121 of file fluid_scheme_incompressible.f90.

◆ gradient_jump_penalty_u

type(gradient_jump_penalty_t) fluid_scheme_incompressible::fluid_scheme_incompressible_t::gradient_jump_penalty_u

Definition at line 102 of file fluid_scheme_incompressible.f90.

◆ gradient_jump_penalty_v

type(gradient_jump_penalty_t) fluid_scheme_incompressible::fluid_scheme_incompressible_t::gradient_jump_penalty_v

Definition at line 103 of file fluid_scheme_incompressible.f90.

◆ gradient_jump_penalty_w

type(gradient_jump_penalty_t) fluid_scheme_incompressible::fluid_scheme_incompressible_t::gradient_jump_penalty_w

Definition at line 104 of file fluid_scheme_incompressible.f90.

◆ gs_xh

type(gs_t) fluid_scheme_base::fluid_scheme_base_t::gs_xh
inherited

Definition at line 62 of file fluid_scheme_base.f90.

◆ if_gradient_jump_penalty

logical fluid_scheme_incompressible::fluid_scheme_incompressible_t::if_gradient_jump_penalty

Definition at line 101 of file fluid_scheme_incompressible.f90.

◆ ksp_prs

class(ksp_t), allocatable fluid_scheme_incompressible::fluid_scheme_incompressible_t::ksp_prs

Definition at line 92 of file fluid_scheme_incompressible.f90.

◆ ksp_vel

class(ksp_t), allocatable fluid_scheme_incompressible::fluid_scheme_incompressible_t::ksp_vel

Definition at line 91 of file fluid_scheme_incompressible.f90.

◆ mean

type(mean_flow_t) fluid_scheme_incompressible::fluid_scheme_incompressible_t::mean

Definition at line 110 of file fluid_scheme_incompressible.f90.

◆ mean_sqr

type(mean_sqr_flow_t) fluid_scheme_incompressible::fluid_scheme_incompressible_t::mean_sqr

Definition at line 112 of file fluid_scheme_incompressible.f90.

◆ msh

type(mesh_t), pointer fluid_scheme_base::fluid_scheme_base_t::msh => null()
inherited

Definition at line 92 of file fluid_scheme_base.f90.

◆ mu

real(kind=rp) fluid_scheme_base::fluid_scheme_base_t::mu
inherited

Definition at line 99 of file fluid_scheme_base.f90.

◆ mu_field

type(field_t) fluid_scheme_base::fluid_scheme_base_t::mu_field
inherited

Definition at line 102 of file fluid_scheme_base.f90.

◆ nut_field_name

character(len=:), allocatable fluid_scheme_incompressible::fluid_scheme_incompressible_t::nut_field_name

Definition at line 116 of file fluid_scheme_incompressible.f90.

◆ p

type(field_t), pointer fluid_scheme_base::fluid_scheme_base_t::p => null()
inherited

Definition at line 71 of file fluid_scheme_base.f90.

◆ params

type(json_file), pointer fluid_scheme_base::fluid_scheme_base_t::params
inherited

Definition at line 91 of file fluid_scheme_base.f90.

◆ pc_prs

class(pc_t), allocatable fluid_scheme_incompressible::fluid_scheme_incompressible_t::pc_prs

Definition at line 94 of file fluid_scheme_incompressible.f90.

◆ pc_vel

class(pc_t), allocatable fluid_scheme_incompressible::fluid_scheme_incompressible_t::pc_vel

Definition at line 93 of file fluid_scheme_incompressible.f90.

◆ pr_projection_activ_step

integer fluid_scheme_incompressible::fluid_scheme_incompressible_t::pr_projection_activ_step

Definition at line 98 of file fluid_scheme_incompressible.f90.

◆ pr_projection_dim

integer fluid_scheme_incompressible::fluid_scheme_incompressible_t::pr_projection_dim

Definition at line 96 of file fluid_scheme_incompressible.f90.

◆ rho

real(kind=rp) fluid_scheme_base::fluid_scheme_base_t::rho
inherited

Definition at line 75 of file fluid_scheme_base.f90.

◆ rho_field

type(field_t) fluid_scheme_base::fluid_scheme_base_t::rho_field
inherited

Definition at line 76 of file fluid_scheme_base.f90.

◆ scratch

type(scratch_registry_t) fluid_scheme_incompressible::fluid_scheme_incompressible_t::scratch

Definition at line 122 of file fluid_scheme_incompressible.f90.

◆ source_term

type(fluid_source_term_t) fluid_scheme_incompressible::fluid_scheme_incompressible_t::source_term

Definition at line 90 of file fluid_scheme_incompressible.f90.

◆ stats

type(fluid_stats_t) fluid_scheme_incompressible::fluid_scheme_incompressible_t::stats

Definition at line 111 of file fluid_scheme_incompressible.f90.

◆ strict_convergence

logical fluid_scheme_incompressible::fluid_scheme_incompressible_t::strict_convergence

Definition at line 99 of file fluid_scheme_incompressible.f90.

◆ u

type(field_t), pointer fluid_scheme_base::fluid_scheme_base_t::u => null()
inherited

x-component of Velocity

Definition at line 68 of file fluid_scheme_base.f90.

◆ u_e

type(field_t), pointer fluid_scheme_incompressible::fluid_scheme_incompressible_t::u_e => null()

Extrapolated x-Velocity

Definition at line 106 of file fluid_scheme_incompressible.f90.

◆ ulag

type(field_series_t) fluid_scheme_base::fluid_scheme_base_t::ulag
inherited

Definition at line 72 of file fluid_scheme_base.f90.

◆ v

type(field_t), pointer fluid_scheme_base::fluid_scheme_base_t::v => null()
inherited

Definition at line 69 of file fluid_scheme_base.f90.

◆ v_e

type(field_t), pointer fluid_scheme_incompressible::fluid_scheme_incompressible_t::v_e => null()

Definition at line 107 of file fluid_scheme_incompressible.f90.

◆ variable_material_properties

logical fluid_scheme_base::fluid_scheme_base_t::variable_material_properties = .false.
inherited

Definition at line 105 of file fluid_scheme_base.f90.

◆ vel_projection_activ_step

integer fluid_scheme_incompressible::fluid_scheme_incompressible_t::vel_projection_activ_step

Definition at line 97 of file fluid_scheme_incompressible.f90.

◆ vel_projection_dim

integer fluid_scheme_incompressible::fluid_scheme_incompressible_t::vel_projection_dim

Definition at line 95 of file fluid_scheme_incompressible.f90.

◆ vlag

type(field_series_t) fluid_scheme_base::fluid_scheme_base_t::vlag
inherited

Definition at line 72 of file fluid_scheme_base.f90.

◆ w

type(field_t), pointer fluid_scheme_base::fluid_scheme_base_t::w => null()
inherited

Definition at line 70 of file fluid_scheme_base.f90.

◆ w_e

type(field_t), pointer fluid_scheme_incompressible::fluid_scheme_incompressible_t::w_e => null()

Definition at line 108 of file fluid_scheme_incompressible.f90.

◆ wlag

type(field_series_t) fluid_scheme_base::fluid_scheme_base_t::wlag
inherited

Definition at line 72 of file fluid_scheme_base.f90.

◆ xh

type(space_t) fluid_scheme_base::fluid_scheme_base_t::xh
inherited

Definition at line 60 of file fluid_scheme_base.f90.


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