Neko  0.8.99
A portable framework for high-order spectral element flow simulations
fluid_volflow Module Reference

Data Types

type  fluid_volflow_t
 Defines volume flow. More...
 

Functions/Subroutines

subroutine fluid_vol_flow_init (this, dm_Xh, params)
 
subroutine fluid_vol_flow_free (this)
 
subroutine fluid_vol_flow_compute (this, u_res, v_res, w_res, p_res, ext_bdf, gs_Xh, c_Xh, rho, mu, bd, dt, bclst_dp, bclst_du, bclst_dv, bclst_dw, bclst_vel_res, Ax, ksp_prs, ksp_vel, pc_prs, pc_vel, prs_max_iter, vel_max_iter)
 Compute flow adjustment. More...
 
subroutine fluid_vol_flow (this, u, v, w, p, u_res, v_res, w_res, p_res, c_Xh, gs_Xh, ext_bdf, rho, mu, dt, bclst_dp, bclst_du, bclst_dv, bclst_dw, bclst_vel_res, Ax, ksp_prs, ksp_vel, pc_prs, pc_vel, prs_max_iter, vel_max_iter)
 Adjust flow volume. More...
 

Function/Subroutine Documentation

◆ fluid_vol_flow()

subroutine fluid_volflow::fluid_vol_flow ( class(fluid_volflow_t), intent(inout)  this,
type(field_t), intent(inout)  u,
type(field_t), intent(inout)  v,
type(field_t), intent(inout)  w,
type(field_t), intent(inout)  p,
type(field_t), intent(inout)  u_res,
type(field_t), intent(inout)  v_res,
type(field_t), intent(inout)  w_res,
type(field_t), intent(inout)  p_res,
type(coef_t), intent(inout)  c_Xh,
type(gs_t), intent(inout)  gs_Xh,
type(time_scheme_controller_t), intent(inout)  ext_bdf,
real(kind=rp), intent(in)  rho,
real(kind=rp), intent(in)  mu,
real(kind=rp), intent(in)  dt,
type(bc_list_t), intent(inout)  bclst_dp,
type(bc_list_t), intent(inout)  bclst_du,
type(bc_list_t), intent(inout)  bclst_dv,
type(bc_list_t), intent(inout)  bclst_dw,
type(bc_list_t), intent(inout)  bclst_vel_res,
class(ax_t), intent(inout)  Ax,
class(ksp_t), intent(inout)  ksp_prs,
class(ksp_t), intent(inout)  ksp_vel,
class(pc_t), intent(inout)  pc_prs,
class(pc_t), intent(inout)  pc_vel,
integer, intent(in)  prs_max_iter,
integer, intent(in)  vel_max_iter 
)
private

Adjust flow volume at end of time step to keep flow rate fixed by adding an appropriate multiple of the linear solution to the Stokes problem arising from a unit forcing in the X-direction. This assumes that the flow rate in the X-direction is to be fixed (as opposed to Y- or Z-) and that the periodic boundary conditions in the X-direction occur at the extreme left and right ends of the mesh.

pff 6/28/98

Definition at line 339 of file fluid_volflow.f90.

◆ fluid_vol_flow_compute()

subroutine fluid_volflow::fluid_vol_flow_compute ( class(fluid_volflow_t), intent(inout)  this,
type(field_t), intent(inout)  u_res,
type(field_t), intent(inout)  v_res,
type(field_t), intent(inout)  w_res,
type(field_t), intent(inout)  p_res,
type(time_scheme_controller_t), intent(inout)  ext_bdf,
type(gs_t), intent(inout)  gs_Xh,
type(coef_t), intent(inout)  c_Xh,
real(kind=rp), intent(in)  rho,
real(kind=rp), intent(in)  mu,
real(kind=rp), intent(inout)  bd,
real(kind=rp), intent(in)  dt,
type(bc_list_t), intent(inout)  bclst_dp,
type(bc_list_t), intent(inout)  bclst_du,
type(bc_list_t), intent(inout)  bclst_dv,
type(bc_list_t), intent(inout)  bclst_dw,
type(bc_list_t), intent(inout)  bclst_vel_res,
class(ax_t), intent(inout)  Ax,
class(ksp_t), intent(inout)  ksp_prs,
class(ksp_t), intent(inout)  ksp_vel,
class(pc_t), intent(inout)  pc_prs,
class(pc_t), intent(inout)  pc_vel,
integer, intent(in)  prs_max_iter,
integer, intent(in)  vel_max_iter 
)
private

Compute pressure and velocity using fractional step method. (Tombo splitting scheme).

Definition at line 151 of file fluid_volflow.f90.

Here is the call graph for this function:

◆ fluid_vol_flow_free()

subroutine fluid_volflow::fluid_vol_flow_free ( class(fluid_volflow_t), intent(inout)  this)
private

Definition at line 136 of file fluid_volflow.f90.

◆ fluid_vol_flow_init()

subroutine fluid_volflow::fluid_vol_flow_init ( class(fluid_volflow_t), intent(inout)  this,
type(dofmap_t), intent(inout), target  dm_Xh,
type(json_file), intent(inout)  params 
)

Definition at line 105 of file fluid_volflow.f90.