Neko 0.9.99
A portable framework for high-order spectral element flow simulations
|
Base type of all fluid formulations. More...
Public Attributes | |
type(field_t), pointer | u => null() |
x-component of Velocity | |
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(space_t) | xh |
Function space \( X_h \). | |
type(dofmap_t) | dm_xh |
Dofmap associated with \( X_h \). | |
type(gs_t) | gs_xh |
Gather-scatter associated with \( X_h \). | |
type(coef_t) | c_xh |
Coefficients associated with \( X_h \). | |
type(fluid_source_term_t) | source_term |
The source term for the momentum equation. | |
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. | |
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. | |
type(no_slip_wall_t) | bc_wall |
No-slip wall for velocity. | |
class(bc_t), allocatable | bc_inflow |
Dirichlet inflow for velocity. | |
type(wall_model_bc_t) | bc_wallmodel |
Wall model boundary condition. | |
logical | if_gradient_jump_penalty |
Gradient jump penalty. | |
type(gradient_jump_penalty_t) | gradient_jump_penalty_u |
type(gradient_jump_penalty_t) | gradient_jump_penalty_v |
type(gradient_jump_penalty_t) | gradient_jump_penalty_w |
type(field_dirichlet_vector_t) | user_field_bc_vel |
User-computed Dirichlet velocity condition. | |
type(field_dirichlet_t) | user_field_bc_prs |
User-computed Dirichlet pressure condition. | |
type(dirichlet_t) | bc_prs |
Dirichlet pressure condition. | |
type(dong_outflow_t) | bc_dong |
Dong outflow condition. | |
type(symmetry_t) | bc_sym |
Symmetry plane for velocity. | |
type(shear_stress_t) | bc_sh |
Symmetry plane for velocity. | |
type(bc_list_t) | bclst_vel |
List of velocity conditions. | |
type(bc_list_t) | bclst_vel_neumann |
List of neumann velocity conditions. | |
type(bc_list_t) | bclst_prs |
List of pressure conditions. | |
type(field_t) | bdry |
Boundary markings. | |
type(json_file), pointer | params |
Parameters. | |
type(mesh_t), pointer | msh => null() |
Mesh. | |
type(chkp_t) | chkp |
Checkpoint. | |
type(mean_flow_t) | mean |
Mean flow field. | |
type(fluid_stats_t) | stats |
Fluid statistics. | |
type(mean_sqr_flow_t) | mean_sqr |
Mean squared flow field. | |
logical | forced_flow_rate = .false. |
Is the flow rate forced? | |
logical | freeze = .false. |
Freeze velocity at initial condition? | |
real(kind=rp) | mu |
Dynamic viscosity. | |
type(field_t) | mu_field |
The variable mu field. | |
character(len=:), allocatable | nut_field_name |
The turbulent kinematic viscosity field name. | |
logical | variable_material_properties = .false. |
Is mu varying in time? Currently only due to LES models. | |
real(kind=rp) | rho |
Density. | |
type(field_t) | rho_field |
The variable density field. | |
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_t) | scratch |
Manager for temporary fields. | |
character(len=neko_msh_max_zlbl_len), dimension(:), allocatable | bc_labels |
Boundary condition labels (if any) | |
Private Member Functions | |
procedure, pass(this), private | set_bc_type_output (this, params) |
Set boundary types for the diagnostic output. | |
Definition at line 90 of file fluid_scheme.f90.
procedure, pass(this) fluid_scheme::fluid_scheme_t::bc_apply_prs | ( | class(fluid_scheme_t), intent(inout) | this, |
real(kind=rp), intent(in) | t, | ||
integer, intent(in) | tstep | ||
) |
Definition at line 179 of file fluid_scheme.f90.
procedure, pass(this) fluid_scheme::fluid_scheme_t::bc_apply_vel | ( | class(fluid_scheme_t), intent(inout) | this, |
real(kind=rp), intent(in) | t, | ||
integer, intent(in) | tstep | ||
) |
Definition at line 177 of file fluid_scheme.f90.
procedure, pass(this) fluid_scheme::fluid_scheme_t::compute_cfl | ( | class(fluid_scheme_t), intent(in) | this, |
real(kind=rp), intent(in) | dt | ||
) |
Definition at line 183 of file fluid_scheme.f90.
procedure, pass(this) fluid_scheme::fluid_scheme_t::fluid_scheme_init_all | ( | class(fluid_scheme_t), intent(inout), target | this, |
type(mesh_t), intent(inout), target | msh, | ||
integer, intent(in) | lx, | ||
type(json_file), intent(inout), target | params, | ||
logical | kspv_init, | ||
logical | kspp_init, | ||
character(len=*), intent(in) | scheme, | ||
type(user_t), intent(in), target | user | ||
) |
Definition at line 169 of file fluid_scheme.f90.
procedure, pass(this) fluid_scheme::fluid_scheme_t::fluid_scheme_init_common | ( | class(fluid_scheme_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 170 of file fluid_scheme.f90.
|
pure virtual |
Definition at line 190 of file fluid_scheme.f90.
|
pure virtual |
Definition at line 188 of file fluid_scheme.f90.
|
pure virtual |
Definition at line 194 of file fluid_scheme.f90.
procedure, pass(this) fluid_scheme::fluid_scheme_t::scheme_free | ( | class(fluid_scheme_t), intent(inout) | this | ) |
Definition at line 173 of file fluid_scheme.f90.
generic fluid_scheme::fluid_scheme_t::scheme_init | ( | class(fluid_scheme_t), intent(inout), target | this, |
type(mesh_t), intent(inout), target | msh, | ||
integer, intent(in) | lx, | ||
type(json_file), intent(inout), target | params, | ||
logical | kspv_init, | ||
logical | kspp_init, | ||
character(len=*), intent(in) | scheme, | ||
type(user_t), intent(in), target | user | ||
) |
generic fluid_scheme::fluid_scheme_t::scheme_init | ( | class(fluid_scheme_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 171 of file fluid_scheme.f90.
|
private |
params | The JSON case file. |
Definition at line 195 of file fluid_scheme.f90.
procedure, pass(this) fluid_scheme::fluid_scheme_t::set_material_properties | ( | class(fluid_scheme_t), intent(inout) | this, |
type(json_file), intent(inout) | params, | ||
type(user_t), intent(in), target | user | ||
) |
params | The case paramter file. |
user | The user interface. |
Definition at line 185 of file fluid_scheme.f90.
procedure, pass(this) fluid_scheme::fluid_scheme_t::set_usr_inflow | ( | class(fluid_scheme_t), intent(inout) | this, |
procedure(usr_inflow_eval) | usr_eval | ||
) |
Definition at line 181 of file fluid_scheme.f90.
|
pure virtual |
Definition at line 192 of file fluid_scheme.f90.
procedure, pass(this) fluid_scheme::fluid_scheme_t::update_material_properties | ( | class(fluid_scheme_t), intent(inout) | this | ) |
Definition at line 198 of file fluid_scheme.f90.
procedure, pass(this) fluid_scheme::fluid_scheme_t::validate | ( | class(fluid_scheme_t), intent(inout), target | this | ) |
Definition at line 175 of file fluid_scheme.f90.
type(dong_outflow_t) fluid_scheme::fluid_scheme_t::bc_dong |
Definition at line 133 of file fluid_scheme.f90.
class(bc_t), allocatable fluid_scheme::fluid_scheme_t::bc_inflow |
Definition at line 121 of file fluid_scheme.f90.
character(len=neko_msh_max_zlbl_len), dimension(:), allocatable fluid_scheme::fluid_scheme_t::bc_labels |
Definition at line 166 of file fluid_scheme.f90.
type(dirichlet_t) fluid_scheme::fluid_scheme_t::bc_prs |
Definition at line 132 of file fluid_scheme.f90.
type(shear_stress_t) fluid_scheme::fluid_scheme_t::bc_sh |
Definition at line 135 of file fluid_scheme.f90.
type(symmetry_t) fluid_scheme::fluid_scheme_t::bc_sym |
Definition at line 134 of file fluid_scheme.f90.
type(no_slip_wall_t) fluid_scheme::fluid_scheme_t::bc_wall |
Definition at line 120 of file fluid_scheme.f90.
type(wall_model_bc_t) fluid_scheme::fluid_scheme_t::bc_wallmodel |
Definition at line 122 of file fluid_scheme.f90.
type(bc_list_t) fluid_scheme::fluid_scheme_t::bclst_prs |
Definition at line 138 of file fluid_scheme.f90.
type(bc_list_t) fluid_scheme::fluid_scheme_t::bclst_vel |
Definition at line 136 of file fluid_scheme.f90.
type(bc_list_t) fluid_scheme::fluid_scheme_t::bclst_vel_neumann |
Definition at line 137 of file fluid_scheme.f90.
type(field_t) fluid_scheme::fluid_scheme_t::bdry |
Definition at line 139 of file fluid_scheme.f90.
type(coef_t) fluid_scheme::fluid_scheme_t::c_xh |
Definition at line 99 of file fluid_scheme.f90.
type(chkp_t) fluid_scheme::fluid_scheme_t::chkp |
Definition at line 142 of file fluid_scheme.f90.
type(dofmap_t) fluid_scheme::fluid_scheme_t::dm_xh |
Definition at line 97 of file fluid_scheme.f90.
Definition at line 103 of file fluid_scheme.f90.
Definition at line 105 of file fluid_scheme.f90.
Definition at line 107 of file fluid_scheme.f90.
logical fluid_scheme::fluid_scheme_t::forced_flow_rate = .false. |
Definition at line 146 of file fluid_scheme.f90.
logical fluid_scheme::fluid_scheme_t::freeze = .false. |
Definition at line 147 of file fluid_scheme.f90.
Definition at line 161 of file fluid_scheme.f90.
Definition at line 163 of file fluid_scheme.f90.
type(gradient_jump_penalty_t) fluid_scheme::fluid_scheme_t::gradient_jump_penalty_u |
Definition at line 125 of file fluid_scheme.f90.
type(gradient_jump_penalty_t) fluid_scheme::fluid_scheme_t::gradient_jump_penalty_v |
Definition at line 126 of file fluid_scheme.f90.
type(gradient_jump_penalty_t) fluid_scheme::fluid_scheme_t::gradient_jump_penalty_w |
Definition at line 127 of file fluid_scheme.f90.
type(gs_t) fluid_scheme::fluid_scheme_t::gs_xh |
Definition at line 98 of file fluid_scheme.f90.
logical fluid_scheme::fluid_scheme_t::if_gradient_jump_penalty |
Definition at line 124 of file fluid_scheme.f90.
class(ksp_t), allocatable fluid_scheme::fluid_scheme_t::ksp_prs |
Definition at line 111 of file fluid_scheme.f90.
class(ksp_t), allocatable fluid_scheme::fluid_scheme_t::ksp_vel |
Definition at line 110 of file fluid_scheme.f90.
type(mean_flow_t) fluid_scheme::fluid_scheme_t::mean |
Definition at line 143 of file fluid_scheme.f90.
type(mean_sqr_flow_t) fluid_scheme::fluid_scheme_t::mean_sqr |
Definition at line 145 of file fluid_scheme.f90.
Definition at line 141 of file fluid_scheme.f90.
Definition at line 149 of file fluid_scheme.f90.
type(field_t) fluid_scheme::fluid_scheme_t::mu_field |
Definition at line 151 of file fluid_scheme.f90.
character(len=:), allocatable fluid_scheme::fluid_scheme_t::nut_field_name |
Definition at line 153 of file fluid_scheme.f90.
Definition at line 94 of file fluid_scheme.f90.
type(json_file), pointer fluid_scheme::fluid_scheme_t::params |
Definition at line 140 of file fluid_scheme.f90.
class(pc_t), allocatable fluid_scheme::fluid_scheme_t::pc_prs |
Definition at line 113 of file fluid_scheme.f90.
class(pc_t), allocatable fluid_scheme::fluid_scheme_t::pc_vel |
Definition at line 112 of file fluid_scheme.f90.
integer fluid_scheme::fluid_scheme_t::pr_projection_activ_step |
Definition at line 117 of file fluid_scheme.f90.
integer fluid_scheme::fluid_scheme_t::pr_projection_dim |
Definition at line 115 of file fluid_scheme.f90.
Definition at line 157 of file fluid_scheme.f90.
type(field_t) fluid_scheme::fluid_scheme_t::rho_field |
Definition at line 159 of file fluid_scheme.f90.
type(scratch_registry_t) fluid_scheme::fluid_scheme_t::scratch |
Definition at line 164 of file fluid_scheme.f90.
type(fluid_source_term_t) fluid_scheme::fluid_scheme_t::source_term |
Definition at line 101 of file fluid_scheme.f90.
type(fluid_stats_t) fluid_scheme::fluid_scheme_t::stats |
Definition at line 144 of file fluid_scheme.f90.
logical fluid_scheme::fluid_scheme_t::strict_convergence |
Definition at line 118 of file fluid_scheme.f90.
Definition at line 91 of file fluid_scheme.f90.
type(field_series_t) fluid_scheme::fluid_scheme_t::ulag |
Definition at line 95 of file fluid_scheme.f90.
type(field_dirichlet_t) fluid_scheme::fluid_scheme_t::user_field_bc_prs |
Definition at line 131 of file fluid_scheme.f90.
type(field_dirichlet_vector_t) fluid_scheme::fluid_scheme_t::user_field_bc_vel |
Definition at line 130 of file fluid_scheme.f90.
Definition at line 92 of file fluid_scheme.f90.
logical fluid_scheme::fluid_scheme_t::variable_material_properties = .false. |
Definition at line 155 of file fluid_scheme.f90.
integer fluid_scheme::fluid_scheme_t::vel_projection_activ_step |
Definition at line 116 of file fluid_scheme.f90.
integer fluid_scheme::fluid_scheme_t::vel_projection_dim |
Definition at line 114 of file fluid_scheme.f90.
type(field_series_t) fluid_scheme::fluid_scheme_t::vlag |
Definition at line 95 of file fluid_scheme.f90.
Definition at line 93 of file fluid_scheme.f90.
type(field_series_t) fluid_scheme::fluid_scheme_t::wlag |
Definition at line 95 of file fluid_scheme.f90.
type(space_t) fluid_scheme::fluid_scheme_t::xh |
Definition at line 96 of file fluid_scheme.f90.