|
Neko 1.99.2
A portable framework for high-order spectral element flow simulations
|


Public Member Functions | |
| procedure, pass(this) | init (this, msh, lx, params, user, chkp) |
| Constructor. | |
| procedure, pass(this) | free (this) |
| Destructor. | |
| procedure, pass(this) | step (this, time, dt_controller) |
| Perform a single time-step of the scheme. | |
| procedure, pass(this) | restart (this, chkp) |
| Restart from a previous solution. | |
| procedure, pass(this) | setup_bcs (this, user, params) |
| Set up boundary conditions. | |
| procedure, pass(this) | write_boundary_conditions (this) |
| Write a field with boundary condition specifications. | |
| procedure, pass(this) | init_base (this, msh, lx, params, scheme, user, kspv_init) |
| Constructor for the base type. | |
| procedure, pass(this) | scheme_free (this) |
| procedure, pass(this) | validate (this) |
| Validate that all components are properly allocated. | |
| procedure(validate_intrf), deferred, pass | validate (this) |
| Set the user inflow. | |
| procedure, pass(this) | bc_apply_vel (this, time, strong) |
| Apply pressure boundary conditions. | |
| procedure, pass(this) | bc_apply_prs (this, time) |
| Apply velocity boundary conditions. | |
| procedure, pass(this) | compute_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(this) | set_material_properties (this, params, user) |
| Set rho and mu. | |
| procedure, pass(this) | update_material_properties (this, time) |
| Update variable material properties. | |
| procedure(update_material_properties), deferred, pass | update_material_properties (this, time) |
| Set rho and mu. | |
| procedure, pass(this) | precon_factory_ (this, pc, ksp, coef, dof, gs, bclst, pctype, pcparams) |
| Preconditioner factory. | |
| 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, time, 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) |
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(field_t) | p_res |
| The right-hand sides in the linear solves. | |
| type(field_t) | u_res |
| type(field_t) | v_res |
| type(field_t) | w_res |
| type(field_t) | dp |
| The unknowns in the linear solves, i.e. the solution increments with respect to the previous time-step. | |
| type(field_t) | du |
| type(field_t) | dv |
| type(field_t) | dw |
| class(ax_t), allocatable | ax_vel |
| class(ax_t), allocatable | ax_prs |
| type(projection_t) | proj_prs |
| Pressure projection. | |
| type(projection_vel_t) | proj_vel |
| type(facet_normal_t) | bc_prs_surface |
| Surface term in pressure rhs. Masks all strong velocity bcs. | |
| type(facet_normal_t) | bc_sym_surface |
| Surface term in pressure rhs. Masks symmetry bcs. | |
| type(zero_dirichlet_t) | bc_vel_res |
| A dummy bc for marking strong velocity bcs. Used for vel_res. | |
| type(zero_dirichlet_t) | bc_du |
| A dummy bc for marking strong velocity bcs. Used for du. | |
| type(zero_dirichlet_t) | bc_dv |
| A dummy bc for marking strong velocity bcs. Used for dv. | |
| type(zero_dirichlet_t) | bc_dw |
| A dummy bc for marking strong velocity bcs. Used for dw. | |
| type(zero_dirichlet_t) | bc_dp |
| A dummy bc for marking strong pressure bcs. Used for dp. | |
| type(bc_list_t) | bclst_vel_res |
| Lists for holding the corresponding dummy bc, e.g. bclst_du holds bc_du. | |
| type(bc_list_t) | bclst_du |
| type(bc_list_t) | bclst_dv |
| type(bc_list_t) | bclst_dw |
| type(bc_list_t) | bclst_dp |
| logical | prs_dirichlet = .false. |
| class(advection_t), allocatable | adv |
| logical | oifs |
| type(field_t) | abx1 |
| type(field_t) | aby1 |
| type(field_t) | abz1 |
| type(field_t) | abx2 |
| type(field_t) | aby2 |
| type(field_t) | abz2 |
| type(field_t) | advx |
| type(field_t) | advy |
| type(field_t) | advz |
| class(pnpn_prs_res_t), allocatable | prs_res |
Pressure residual equation for computing p_res. | |
| class(pnpn_vel_res_t), allocatable | vel_res |
Velocity residual equation for computing u_res, v_res, w_res. | |
| class(rhs_maker_sumab_t), allocatable | sumab |
| Summation of AB/BDF contributions. | |
| class(rhs_maker_ext_t), allocatable | makeabf |
| Contributions to kth order extrapolation scheme. | |
| class(rhs_maker_bdf_t), allocatable | makebdf |
| Contributions to F from lagged BD terms. | |
| class(rhs_maker_oifs_t), allocatable | makeoifs |
| Contributions to the RHS from the OIFS method. | |
| type(fluid_volflow_t) | vol_flow |
| Adjust flow volume. | |
| logical | full_stress_formulation = .false. |
| Whether to use the full formulation of the viscous stress term. | |
| type(fluid_source_term_t) | source_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 | allow_stabilization |
| Allow stabilization period. | |
| 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(fluid_stats_t) | stats |
| Fluid statistics. | |
| logical | forced_flow_rate = .false. |
| Is the flow rate forced? | |
| character(len=:), allocatable | nut_field_name |
| The turbulent kinematic viscosity field name. | |
| type(field_t), pointer | mu_tot => null() |
| 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) | |
| character(len=:), allocatable | name |
| A name that can be used to distinguish this solver in e.g. user routines. | |
| 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(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. | |
| 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_t) | bcs_prs |
| Boundary conditions. | |
| type(bc_list_t) | bcs_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) | |
| type(field_t), pointer | rho => null() |
| Density field. | |
| type(field_t), pointer | mu => null() |
| The dynamic viscosity. | |
| type(field_list_t) | material_properties |
| A helper that packs material properties to pass to the user routine. | |
| logical | freeze = .false. |
| Is the fluid frozen at the moment. | |
Static Public Attributes | |
| procedure(user_material_properties_intf), pointer, nopass | user_material_properties => null() |
| User material properties routine. | |
Definition at line 92 of file fluid_pnpn.f90.
|
inherited |
Definition at line 115 of file fluid_scheme_incompressible.f90.
|
inherited |
Definition at line 113 of file fluid_scheme_incompressible.f90.
|
pure virtualinherited |
Definition at line 129 of file fluid_scheme_base.f90.
|
inherited |
Definition at line 117 of file fluid_scheme_incompressible.f90.
Definition at line 197 of file fluid_pnpn.f90.
|
pure virtualinherited |
Definition at line 118 of file fluid_scheme_base.f90.
| procedure, pass(this) fluid_pnpn::fluid_pnpn_t::init | ( | class(fluid_pnpn_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.
| [in,out] | object | The object to be allocated. |
| [in] | scheme | The scalar_pnpn scheme. |
| [in,out] | json | JSON object for initializing the bc. |
| [in] | coef | SEM coefficients. |
| [in] | user | The user interface. Boundary condition factory for velocity |
Will mark a mesh zone for the bc and finalize.
| [in,out] | object | The object to be allocated. |
| [in] | scheme | The scalar_pnpn scheme. |
| [in,out] | json | JSON object for initializing the bc. |
| [in] | coef | SEM coefficients. |
| [in] | user | The user interface. |
Definition at line 195 of file fluid_pnpn.f90.
|
pure virtualinherited |
Definition at line 116 of file fluid_scheme_base.f90.
|
inherited |
Initialize common data for the current scheme
Definition at line 108 of file fluid_scheme_incompressible.f90.
|
inherited |
Definition at line 128 of file fluid_scheme_incompressible.f90.
| procedure, pass(this) fluid_pnpn::fluid_pnpn_t::restart | ( | class(fluid_pnpn_t), intent(inout), target | this, |
| type(chkp_t), intent(inout) | chkp | ||
| ) |
Definition at line 201 of file fluid_pnpn.f90.
|
pure virtualinherited |
Definition at line 122 of file fluid_scheme_base.f90.
|
inherited |
Definition at line 109 of file fluid_scheme_incompressible.f90.
|
inherited |
| params | The case paramter file. |
| user | The user interface. |
Definition at line 119 of file fluid_scheme_incompressible.f90.
| procedure, pass(this) fluid_pnpn::fluid_pnpn_t::setup_bcs | ( | class(fluid_pnpn_t), intent(inout), target | this, |
| type(user_t), intent(in), target | user, | ||
| type(json_file), intent(inout) | params | ||
| ) |
| user | The user interface. |
Definition at line 203 of file fluid_pnpn.f90.
|
pure virtualinherited |
Definition at line 124 of file fluid_scheme_base.f90.
|
staticinherited |
Definition at line 126 of file fluid_scheme_incompressible.f90.
| procedure, pass(this) fluid_pnpn::fluid_pnpn_t::step | ( | class(fluid_pnpn_t), intent(inout), target | this, |
| type(time_state_t), intent(in) | time, | ||
| type(time_step_controller_t), intent(in) | dt_controller | ||
| ) |
| t | The time value. |
| tstep | The current interation. |
| dt | The timestep |
| ext_bdf | Time integration logic. |
| dt_controller | timestep controller |
Definition at line 199 of file fluid_pnpn.f90.
|
pure virtualinherited |
Definition at line 120 of file fluid_scheme_base.f90.
|
pure virtualinherited |
Definition at line 131 of file fluid_scheme_base.f90.
|
inherited |
| t | Time value. |
| tstep | Current time step. |
Definition at line 123 of file fluid_scheme_incompressible.f90.
|
pure virtualinherited |
Definition at line 127 of file fluid_scheme_base.f90.
|
inherited |
Definition at line 111 of file fluid_scheme_incompressible.f90.
| procedure, pass(this) fluid_pnpn::fluid_pnpn_t::write_boundary_conditions | ( | class(fluid_pnpn_t), intent(inout), target | this | ) |
Definition at line 205 of file fluid_pnpn.f90.
| type(field_t) fluid_pnpn::fluid_pnpn_t::abx1 |
Definition at line 163 of file fluid_pnpn.f90.
| type(field_t) fluid_pnpn::fluid_pnpn_t::abx2 |
Definition at line 164 of file fluid_pnpn.f90.
| type(field_t) fluid_pnpn::fluid_pnpn_t::aby1 |
Definition at line 163 of file fluid_pnpn.f90.
| type(field_t) fluid_pnpn::fluid_pnpn_t::aby2 |
Definition at line 164 of file fluid_pnpn.f90.
| type(field_t) fluid_pnpn::fluid_pnpn_t::abz1 |
Definition at line 163 of file fluid_pnpn.f90.
| type(field_t) fluid_pnpn::fluid_pnpn_t::abz2 |
Definition at line 164 of file fluid_pnpn.f90.
| class(advection_t), allocatable fluid_pnpn::fluid_pnpn_t::adv |
Definition at line 157 of file fluid_pnpn.f90.
| type(field_t) fluid_pnpn::fluid_pnpn_t::advx |
Definition at line 167 of file fluid_pnpn.f90.
| type(field_t) fluid_pnpn::fluid_pnpn_t::advy |
Definition at line 167 of file fluid_pnpn.f90.
| type(field_t) fluid_pnpn::fluid_pnpn_t::advz |
Definition at line 167 of file fluid_pnpn.f90.
|
inherited |
Definition at line 87 of file fluid_scheme_incompressible.f90.
| class(ax_t), allocatable fluid_pnpn::fluid_pnpn_t::ax_prs |
Definition at line 108 of file fluid_pnpn.f90.
| class(ax_t), allocatable fluid_pnpn::fluid_pnpn_t::ax_vel |
Definition at line 106 of file fluid_pnpn.f90.
| type(zero_dirichlet_t) fluid_pnpn::fluid_pnpn_t::bc_dp |
Definition at line 141 of file fluid_pnpn.f90.
| type(zero_dirichlet_t) fluid_pnpn::fluid_pnpn_t::bc_du |
Definition at line 135 of file fluid_pnpn.f90.
| type(zero_dirichlet_t) fluid_pnpn::fluid_pnpn_t::bc_dv |
Definition at line 137 of file fluid_pnpn.f90.
| type(zero_dirichlet_t) fluid_pnpn::fluid_pnpn_t::bc_dw |
Definition at line 139 of file fluid_pnpn.f90.
|
inherited |
Definition at line 96 of file fluid_scheme_base.f90.
| type(facet_normal_t) fluid_pnpn::fluid_pnpn_t::bc_prs_surface |
Definition at line 123 of file fluid_pnpn.f90.
| type(facet_normal_t) fluid_pnpn::fluid_pnpn_t::bc_sym_surface |
Definition at line 126 of file fluid_pnpn.f90.
| type(zero_dirichlet_t) fluid_pnpn::fluid_pnpn_t::bc_vel_res |
Definition at line 133 of file fluid_pnpn.f90.
| type(bc_list_t) fluid_pnpn::fluid_pnpn_t::bclst_dp |
Definition at line 148 of file fluid_pnpn.f90.
| type(bc_list_t) fluid_pnpn::fluid_pnpn_t::bclst_du |
Definition at line 145 of file fluid_pnpn.f90.
| type(bc_list_t) fluid_pnpn::fluid_pnpn_t::bclst_dv |
Definition at line 146 of file fluid_pnpn.f90.
| type(bc_list_t) fluid_pnpn::fluid_pnpn_t::bclst_dw |
Definition at line 147 of file fluid_pnpn.f90.
| type(bc_list_t) fluid_pnpn::fluid_pnpn_t::bclst_vel_res |
Definition at line 144 of file fluid_pnpn.f90.
|
inherited |
Definition at line 88 of file fluid_scheme_base.f90.
|
inherited |
Definition at line 90 of file fluid_scheme_base.f90.
|
inherited |
Definition at line 65 of file fluid_scheme_base.f90.
Definition at line 77 of file fluid_scheme_base.f90.
|
inherited |
Definition at line 63 of file fluid_scheme_base.f90.
| type(field_t) fluid_pnpn::fluid_pnpn_t::dp |
Definition at line 99 of file fluid_pnpn.f90.
| type(field_t) fluid_pnpn::fluid_pnpn_t::du |
Definition at line 99 of file fluid_pnpn.f90.
| type(field_t) fluid_pnpn::fluid_pnpn_t::dv |
Definition at line 99 of file fluid_pnpn.f90.
| type(field_t) fluid_pnpn::fluid_pnpn_t::dw |
Definition at line 99 of file fluid_pnpn.f90.
|
inherited |
Definition at line 67 of file fluid_scheme_base.f90.
Definition at line 80 of file fluid_scheme_base.f90.
Definition at line 82 of file fluid_scheme_base.f90.
Definition at line 84 of file fluid_scheme_base.f90.
|
inherited |
Definition at line 94 of file fluid_scheme_incompressible.f90.
|
inherited |
Definition at line 108 of file fluid_scheme_base.f90.
| logical fluid_pnpn::fluid_pnpn_t::full_stress_formulation = .false. |
Definition at line 191 of file fluid_pnpn.f90.
Definition at line 103 of file fluid_scheme_incompressible.f90.
|
inherited |
Definition at line 105 of file fluid_scheme_incompressible.f90.
|
inherited |
Definition at line 64 of file fluid_scheme_base.f90.
|
inherited |
Definition at line 79 of file fluid_scheme_incompressible.f90.
|
inherited |
Definition at line 78 of file fluid_scheme_incompressible.f90.
| class(rhs_maker_ext_t), allocatable fluid_pnpn::fluid_pnpn_t::makeabf |
Definition at line 179 of file fluid_pnpn.f90.
| class(rhs_maker_bdf_t), allocatable fluid_pnpn::fluid_pnpn_t::makebdf |
Definition at line 182 of file fluid_pnpn.f90.
| class(rhs_maker_oifs_t), allocatable fluid_pnpn::fluid_pnpn_t::makeoifs |
Definition at line 185 of file fluid_pnpn.f90.
|
inherited |
Definition at line 105 of file fluid_scheme_base.f90.
Definition at line 93 of file fluid_scheme_base.f90.
Definition at line 102 of file fluid_scheme_base.f90.
|
inherited |
Definition at line 100 of file fluid_scheme_incompressible.f90.
|
inherited |
Definition at line 60 of file fluid_scheme_base.f90.
|
inherited |
Definition at line 97 of file fluid_scheme_incompressible.f90.
| logical fluid_pnpn::fluid_pnpn_t::oifs |
Definition at line 160 of file fluid_pnpn.f90.
Definition at line 73 of file fluid_scheme_base.f90.
| type(field_t) fluid_pnpn::fluid_pnpn_t::p_res |
Definition at line 95 of file fluid_pnpn.f90.
|
inherited |
Definition at line 92 of file fluid_scheme_base.f90.
|
inherited |
Definition at line 81 of file fluid_scheme_incompressible.f90.
|
inherited |
Definition at line 80 of file fluid_scheme_incompressible.f90.
|
inherited |
Definition at line 85 of file fluid_scheme_incompressible.f90.
|
inherited |
Definition at line 83 of file fluid_scheme_incompressible.f90.
| type(projection_t) fluid_pnpn::fluid_pnpn_t::proj_prs |
Definition at line 115 of file fluid_pnpn.f90.
| type(projection_vel_t) fluid_pnpn::fluid_pnpn_t::proj_vel |
Definition at line 116 of file fluid_pnpn.f90.
| logical fluid_pnpn::fluid_pnpn_t::prs_dirichlet = .false. |
Definition at line 153 of file fluid_pnpn.f90.
| class(pnpn_prs_res_t), allocatable fluid_pnpn::fluid_pnpn_t::prs_res |
Definition at line 170 of file fluid_pnpn.f90.
Definition at line 99 of file fluid_scheme_base.f90.
|
inherited |
Definition at line 77 of file fluid_scheme_incompressible.f90.
|
inherited |
Definition at line 93 of file fluid_scheme_incompressible.f90.
|
inherited |
Definition at line 86 of file fluid_scheme_incompressible.f90.
| class(rhs_maker_sumab_t), allocatable fluid_pnpn::fluid_pnpn_t::sumab |
Definition at line 176 of file fluid_pnpn.f90.
x-component of Velocity
Definition at line 70 of file fluid_scheme_base.f90.
|
inherited |
Extrapolated x-Velocity
Definition at line 89 of file fluid_scheme_incompressible.f90.
| type(field_t) fluid_pnpn::fluid_pnpn_t::u_res |
Definition at line 95 of file fluid_pnpn.f90.
|
inherited |
Definition at line 74 of file fluid_scheme_base.f90.
|
staticinherited |
Definition at line 111 of file fluid_scheme_base.f90.
Definition at line 71 of file fluid_scheme_base.f90.
|
inherited |
Definition at line 90 of file fluid_scheme_incompressible.f90.
| type(field_t) fluid_pnpn::fluid_pnpn_t::v_res |
Definition at line 95 of file fluid_pnpn.f90.
|
inherited |
Definition at line 84 of file fluid_scheme_incompressible.f90.
|
inherited |
Definition at line 82 of file fluid_scheme_incompressible.f90.
| class(pnpn_vel_res_t), allocatable fluid_pnpn::fluid_pnpn_t::vel_res |
Definition at line 173 of file fluid_pnpn.f90.
|
inherited |
Definition at line 74 of file fluid_scheme_base.f90.
| type(fluid_volflow_t) fluid_pnpn::fluid_pnpn_t::vol_flow |
Definition at line 188 of file fluid_pnpn.f90.
Definition at line 72 of file fluid_scheme_base.f90.
|
inherited |
Definition at line 91 of file fluid_scheme_incompressible.f90.
| type(field_t) fluid_pnpn::fluid_pnpn_t::w_res |
Definition at line 95 of file fluid_pnpn.f90.
|
inherited |
Definition at line 74 of file fluid_scheme_base.f90.
|
inherited |
Definition at line 62 of file fluid_scheme_base.f90.