Loading [MathJax]/extensions/tex2jax.js
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_compressible_euler::fluid_scheme_compressible_euler_t Type Referenceabstract
Inheritance diagram for fluid_scheme_compressible_euler::fluid_scheme_compressible_euler_t:
Collaboration diagram for fluid_scheme_compressible_euler::fluid_scheme_compressible_euler_t:

Public Member Functions

procedure, pass(thisinit (this, msh, lx, params, user, chkp)
 Boundary condition factory for density.
 
procedure, pass(thisfree (this)
 Free allocated memory and cleanup.
 
procedure, pass(thisstep (this, t, tstep, dt, ext_bdf, dt_controller)
 Advance the fluid simulation one timestep.
 
procedure, pass(thisrestart (this, chkp)
 Restart the simulation from saved state.
 
procedure, pass(thissetup_bcs (this, user, params)
 Set up boundary conditions.
 
procedure, pass(thiscompute_h (this)
 Copied from les_model_compute_delta in les_model.f90 TODO: move to a separate module Compute characteristic mesh size h.
 
procedure, pass(thisscheme_init (this, msh, lx, params, scheme, user)
 Constructors.
 
procedure, pass(thisscheme_free (this)
 Destructor for the base type.
 
procedure, pass(thisvalidate (this)
 Validate that all components are properly allocated.
 
procedure(validate_intrf), deferred, pass validate (this)
 Set the user inflow.
 
procedure, pass(thiscompute_cfl (this, dt)
 Compute the CFL number.
 
procedure(fluid_scheme_base_compute_cfl_intrf), deferred, pass compute_cfl (this, dt)
 Compute the CFL number.
 
procedure, pass(thisupdate_material_properties (this)
 Set rho and mu.
 
procedure(update_material_properties), deferred, pass update_material_properties (this)
 Set rho and mu.
 
procedure(fluid_scheme_base_init_intrf), deferred, pass init (this, msh, lx, params, user, chkp)
 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, chkp)
 Restart from a checkpoint.
 
procedure(fluid_scheme_setup_bcs_intrf), deferred, pass setup_bcs (this, user, params)
 

Public Attributes

type(field_trho_res
 
type(field_tm_x_res
 
type(field_tm_y_res
 
type(field_tm_z_res
 
type(field_tm_e_res
 
type(field_tdrho
 
type(field_tdm_x
 
type(field_tdm_y
 
type(field_tdm_z
 
type(field_tde
 
type(field_th
 
real(kind=rp) c_avisc_low
 
class(advection_t), allocatable adv
 
class(ax_t), allocatable ax
 
class(euler_rhs_t), allocatable euler_rhs
 
type(runge_kutta_time_scheme_trk_scheme
 
type(bc_list_tbcs_density
 
type(field_t), pointer m_x => null()
 The momentum field.
 
type(field_t), pointer m_y => null()
 y-component of Momentum
 
type(field_t), pointer m_z => null()
 z-component of Momentum
 
type(field_t), pointer e => null()
 Total energy.
 
real(kind=rp) gamma
 
type(scratch_registry_t) scratch
 Manager for temporary fields.
 
character(len=:), allocatable name
 A name that can be used to distinguish this solver in e.g. user routines.
 
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_t) ulag
 
type(field_series_t) vlag
 
type(field_series_t) wlag
 fluid field (lag)
 
type(chkp_t), pointer chkp => null()
 Checkpoint.
 
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.
 
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 76 of file fluid_scheme_compressible_euler.f90.

Member Function/Subroutine Documentation

◆ 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 130 of file fluid_scheme_base.f90.

◆ compute_cfl() [2/2]

procedure, pass(this) fluid_scheme_compressible::fluid_scheme_compressible_t::compute_cfl ( class(fluid_scheme_compressible_t), intent(in this,
real(kind=rp), intent(in dt 
)
inherited
Parameters
thisThe compressible fluid scheme object
dtCurrent timestep size
Returns
Computed CFL number

Definition at line 73 of file fluid_scheme_compressible.f90.

◆ compute_h()

procedure, pass(this) fluid_scheme_compressible_euler::fluid_scheme_compressible_euler_t::compute_h ( class(fluid_scheme_compressible_euler_t), intent(inout this)
Parameters
thisThe fluid scheme object

Definition at line 97 of file fluid_scheme_compressible_euler.f90.

◆ free() [1/2]

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 119 of file fluid_scheme_base.f90.

◆ free() [2/2]

procedure, pass(this) fluid_scheme_compressible_euler::fluid_scheme_compressible_euler_t::free ( class(fluid_scheme_compressible_euler_t), intent(inout this)
Parameters
thisThe fluid scheme object to destroy

Definition at line 91 of file fluid_scheme_compressible_euler.f90.

◆ init() [1/2]

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,
type(chkp_t), intent(inout), target  chkp 
)
pure virtualinherited

Definition at line 117 of file fluid_scheme_base.f90.

◆ init() [2/2]

procedure, pass(this) fluid_scheme_compressible_euler::fluid_scheme_compressible_euler_t::init ( class(fluid_scheme_compressible_euler_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,
type(chkp_t), intent(inout), target  chkp 
)

Will mark a mesh zone for the bc and finalize.

Parameters
[in,out]objectThe object to be allocated.
[in]schemeThe fluid_scheme_compressible_euler_t scheme.
[in,out]jsonJSON object for initializing the bc.
[in]coefSEM coefficients.
[in]userThe user interface. Boundary condition factory for pressure.

Will mark a mesh zone for the bc and finalize.

Parameters
[in,out]objectThe object to be allocated.
[in]schemeThe fluid_scheme_compressible_euler_t scheme.
[in,out]jsonJSON object for initializing the bc.
[in]coefSEM coefficients.
[in]userThe user interface. Boundary condition factory for velocity

Will mark a mesh zone for the bc and finalize.

Parameters
[in,out]objectThe object to be allocated.
[in]schemeThe fluid_scheme_compressible_euler_t scheme.
[in,out]jsonJSON object for initializing the bc.
[in]coefSEM coefficients.
[in]userThe user interface. Initialize the compressible Euler fluid scheme
thisThe fluid scheme object
mshMesh data structure
lxPolynomial order in x-direction
paramsJSON configuration parameters
userUser-defined parameters and functions
chkpCheckpoint to write to

Definition at line 90 of file fluid_scheme_compressible_euler.f90.

◆ restart() [1/2]

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,
type(chkp_t), intent(inout chkp 
)
pure virtualinherited

Definition at line 123 of file fluid_scheme_base.f90.

◆ restart() [2/2]

procedure, pass(this) fluid_scheme_compressible_euler::fluid_scheme_compressible_euler_t::restart ( class(fluid_scheme_compressible_euler_t), intent(inout), target  this,
type(chkp_t), intent(inout chkp 
)
Parameters
thisThe fluid scheme object
dtlagPrevious timestep sizes
tlagPrevious time values

Definition at line 93 of file fluid_scheme_compressible_euler.f90.

◆ scheme_free()

procedure, pass(this) fluid_scheme_compressible::fluid_scheme_compressible_t::scheme_free ( class(fluid_scheme_compressible_t), intent(inout this)
inherited
Parameters
thisThe compressible fluid scheme object to destroy

Definition at line 68 of file fluid_scheme_compressible.f90.

◆ scheme_init()

procedure, pass(this) fluid_scheme_compressible::fluid_scheme_compressible_t::scheme_init ( class(fluid_scheme_compressible_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 
)
inherited
Parameters
thisThe compressible fluid scheme object
mshMesh data structure
lxPolynomial order in x-direction
paramsJSON configuration parameters
schemeName of the numerical scheme
userUser-defined parameters and functions

Definition at line 66 of file fluid_scheme_compressible.f90.

◆ setup_bcs() [1/2]

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 125 of file fluid_scheme_base.f90.

◆ setup_bcs() [2/2]

procedure, pass(this) fluid_scheme_compressible_euler::fluid_scheme_compressible_euler_t::setup_bcs ( class(fluid_scheme_compressible_euler_t), intent(inout this,
type(user_t), intent(in), target  user,
type(json_file), intent(inout params 
)
Parameters
thisThe fluid scheme object
userUser-defined boundary conditions
paramsConfiguration parameters

Definition at line 95 of file fluid_scheme_compressible_euler.f90.

◆ step() [1/2]

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 121 of file fluid_scheme_base.f90.

◆ step() [2/2]

procedure, pass(this) fluid_scheme_compressible_euler::fluid_scheme_compressible_euler_t::step ( class(fluid_scheme_compressible_euler_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 
)
Parameters
thisThe fluid scheme object
tCurrent simulation time
tstepCurrent timestep number
dtTimestep size
ext_bdfTime integration controller
dt_controllerTimestep size controller

Definition at line 92 of file fluid_scheme_compressible_euler.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 132 of file fluid_scheme_base.f90.

◆ update_material_properties() [2/2]

procedure, pass(this) fluid_scheme_compressible::fluid_scheme_compressible_t::update_material_properties ( class(fluid_scheme_compressible_t), intent(inout this)
inherited
Parameters
thisThe compressible fluid scheme object

Definition at line 76 of file fluid_scheme_compressible.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 128 of file fluid_scheme_base.f90.

◆ validate() [2/2]

procedure, pass(this) fluid_scheme_compressible::fluid_scheme_compressible_t::validate ( class(fluid_scheme_compressible_t), intent(inout), target  this)
inherited
Parameters
thisThe compressible fluid scheme object

Definition at line 71 of file fluid_scheme_compressible.f90.

Member Data Documentation

◆ adv

class(advection_t), allocatable fluid_scheme_compressible_euler::fluid_scheme_compressible_euler_t::adv

Definition at line 82 of file fluid_scheme_compressible_euler.f90.

◆ ax

class(ax_t), allocatable fluid_scheme_compressible_euler::fluid_scheme_compressible_euler_t::ax

Definition at line 83 of file fluid_scheme_compressible_euler.f90.

◆ bc_labels

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

Definition at line 102 of file fluid_scheme_base.f90.

◆ bcs_density

type(bc_list_t) fluid_scheme_compressible_euler::fluid_scheme_compressible_euler_t::bcs_density

Definition at line 88 of file fluid_scheme_compressible_euler.f90.

◆ bcs_prs

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

Definition at line 94 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 96 of file fluid_scheme_base.f90.

◆ c_avisc_low

real(kind=rp) fluid_scheme_compressible_euler::fluid_scheme_compressible_euler_t::c_avisc_low

Definition at line 81 of file fluid_scheme_compressible_euler.f90.

◆ c_xh

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

Definition at line 67 of file fluid_scheme_base.f90.

◆ chkp

type(chkp_t), pointer fluid_scheme_base::fluid_scheme_base_t::chkp => null()
inherited

Definition at line 79 of file fluid_scheme_base.f90.

◆ de

type(field_t) fluid_scheme_compressible_euler::fluid_scheme_compressible_euler_t::de

Definition at line 79 of file fluid_scheme_compressible_euler.f90.

◆ dm_x

type(field_t) fluid_scheme_compressible_euler::fluid_scheme_compressible_euler_t::dm_x

Definition at line 79 of file fluid_scheme_compressible_euler.f90.

◆ dm_xh

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

Definition at line 65 of file fluid_scheme_base.f90.

◆ dm_y

type(field_t) fluid_scheme_compressible_euler::fluid_scheme_compressible_euler_t::dm_y

Definition at line 79 of file fluid_scheme_compressible_euler.f90.

◆ dm_z

type(field_t) fluid_scheme_compressible_euler::fluid_scheme_compressible_euler_t::dm_z

Definition at line 79 of file fluid_scheme_compressible_euler.f90.

◆ drho

type(field_t) fluid_scheme_compressible_euler::fluid_scheme_compressible_euler_t::drho

Definition at line 79 of file fluid_scheme_compressible_euler.f90.

◆ e

type(field_t), pointer fluid_scheme_compressible::fluid_scheme_compressible_t::e => null()
inherited

Definition at line 58 of file fluid_scheme_compressible.f90.

◆ euler_rhs

class(euler_rhs_t), allocatable fluid_scheme_compressible_euler::fluid_scheme_compressible_euler_t::euler_rhs

Definition at line 84 of file fluid_scheme_compressible_euler.f90.

◆ ext_bdf

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

Definition at line 69 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 86 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 88 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 90 of file fluid_scheme_base.f90.

◆ freeze

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

Definition at line 113 of file fluid_scheme_base.f90.

◆ gamma

real(kind=rp) fluid_scheme_compressible::fluid_scheme_compressible_t::gamma
inherited

Definition at line 60 of file fluid_scheme_compressible.f90.

◆ gs_xh

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

Definition at line 66 of file fluid_scheme_base.f90.

◆ h

type(field_t) fluid_scheme_compressible_euler::fluid_scheme_compressible_euler_t::h

Definition at line 80 of file fluid_scheme_compressible_euler.f90.

◆ m_e_res

type(field_t) fluid_scheme_compressible_euler::fluid_scheme_compressible_euler_t::m_e_res

Definition at line 78 of file fluid_scheme_compressible_euler.f90.

◆ m_x

type(field_t), pointer fluid_scheme_compressible::fluid_scheme_compressible_t::m_x => null()
inherited

x-component of Momentum

Definition at line 55 of file fluid_scheme_compressible.f90.

◆ m_x_res

type(field_t) fluid_scheme_compressible_euler::fluid_scheme_compressible_euler_t::m_x_res

Definition at line 78 of file fluid_scheme_compressible_euler.f90.

◆ m_y

type(field_t), pointer fluid_scheme_compressible::fluid_scheme_compressible_t::m_y => null()
inherited

Definition at line 56 of file fluid_scheme_compressible.f90.

◆ m_y_res

type(field_t) fluid_scheme_compressible_euler::fluid_scheme_compressible_euler_t::m_y_res

Definition at line 78 of file fluid_scheme_compressible_euler.f90.

◆ m_z

type(field_t), pointer fluid_scheme_compressible::fluid_scheme_compressible_t::m_z => null()
inherited

Definition at line 57 of file fluid_scheme_compressible.f90.

◆ m_z_res

type(field_t) fluid_scheme_compressible_euler::fluid_scheme_compressible_euler_t::m_z_res

Definition at line 78 of file fluid_scheme_compressible_euler.f90.

◆ msh

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

Definition at line 99 of file fluid_scheme_base.f90.

◆ mu

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

Definition at line 105 of file fluid_scheme_base.f90.

◆ mu_field

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

Definition at line 108 of file fluid_scheme_base.f90.

◆ name

character(len=:), allocatable fluid_scheme_base::fluid_scheme_base_t::name
inherited

Definition at line 62 of file fluid_scheme_base.f90.

◆ p

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

Definition at line 75 of file fluid_scheme_base.f90.

◆ params

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

Definition at line 98 of file fluid_scheme_base.f90.

◆ rho

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

Definition at line 82 of file fluid_scheme_base.f90.

◆ rho_field

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

Definition at line 83 of file fluid_scheme_base.f90.

◆ rho_res

type(field_t) fluid_scheme_compressible_euler::fluid_scheme_compressible_euler_t::rho_res

Definition at line 78 of file fluid_scheme_compressible_euler.f90.

◆ rk_scheme

type(runge_kutta_time_scheme_t) fluid_scheme_compressible_euler::fluid_scheme_compressible_euler_t::rk_scheme

Definition at line 85 of file fluid_scheme_compressible_euler.f90.

◆ scratch

type(scratch_registry_t) fluid_scheme_compressible::fluid_scheme_compressible_t::scratch
inherited

Definition at line 62 of file fluid_scheme_compressible.f90.

◆ u

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

x-component of Velocity

Definition at line 72 of file fluid_scheme_base.f90.

◆ ulag

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

Definition at line 76 of file fluid_scheme_base.f90.

◆ v

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

Definition at line 73 of file fluid_scheme_base.f90.

◆ variable_material_properties

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

Definition at line 111 of file fluid_scheme_base.f90.

◆ vlag

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

Definition at line 76 of file fluid_scheme_base.f90.

◆ w

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

Definition at line 74 of file fluid_scheme_base.f90.

◆ wlag

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

Definition at line 76 of file fluid_scheme_base.f90.

◆ xh

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

Definition at line 64 of file fluid_scheme_base.f90.


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