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 Module Reference

Data Types

type  fluid_scheme_compressible_euler_t
 

Functions/Subroutines

subroutine fluid_scheme_compressible_euler_init (this, msh, lx, params, user)
 Boundary condition factory for density.
 
subroutine fluid_scheme_compressible_euler_free (this)
 Free allocated memory and cleanup.
 
subroutine fluid_scheme_compressible_euler_step (this, t, tstep, dt, ext_bdf, dt_controller)
 Advance the fluid simulation one timestep.
 
subroutine fluid_scheme_compressible_euler_setup_bcs (this, user, params)
 Set up boundary conditions for the fluid scheme.
 
subroutine compute_h (this)
 Copied from les_model_compute_delta in les_model.f90 TODO: move to a separate module Compute characteristic mesh size h.
 
subroutine fluid_scheme_compressible_euler_restart (this, dtlag, tlag)
 Restart the simulation from saved state.
 

Function/Subroutine Documentation

◆ compute_h()

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

Definition at line 439 of file fluid_scheme_compressible_euler.f90.

◆ fluid_scheme_compressible_euler_free()

subroutine fluid_scheme_compressible_euler::fluid_scheme_compressible_euler_free ( class(fluid_scheme_compressible_euler_t), intent(inout this)
private
Parameters
thisThe fluid scheme object to destroy

Definition at line 227 of file fluid_scheme_compressible_euler.f90.

◆ fluid_scheme_compressible_euler_init()

subroutine fluid_scheme_compressible_euler::fluid_scheme_compressible_euler_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 
)

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

Definition at line 157 of file fluid_scheme_compressible_euler.f90.

◆ fluid_scheme_compressible_euler_restart()

subroutine fluid_scheme_compressible_euler::fluid_scheme_compressible_euler_restart ( class(fluid_scheme_compressible_euler_t), intent(inout), target  this,
real(kind=rp), dimension(10)  dtlag,
real(kind=rp), dimension(10)  tlag 
)
private
Parameters
thisThe fluid scheme object
dtlagPrevious timestep sizes
tlagPrevious time values

Definition at line 510 of file fluid_scheme_compressible_euler.f90.

◆ fluid_scheme_compressible_euler_setup_bcs()

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

Definition at line 345 of file fluid_scheme_compressible_euler.f90.

◆ fluid_scheme_compressible_euler_step()

subroutine fluid_scheme_compressible_euler::fluid_scheme_compressible_euler_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 
)
private
Parameters
thisThe fluid scheme object
tCurrent simulation time
tstepCurrent timestep number
dtTimestep size
ext_bdfTime integration controller
dt_controllerTimestep size controller

Apply density boundary conditions

Update variables

Apply velocity boundary conditions

Update p = (gamma - 1) * (E - 0.5 * rho * (u^2 + v^2 + w^2))

Apply pressure boundary conditions

TODO: Update maximum wave speed

Definition at line 250 of file fluid_scheme_compressible_euler.f90.