Neko-TOP
A portable framework for high-order spectral element flow toplogy optimization.
|
Base type of all fluid formulations. More...
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), pointer | u_adj => null() |
x-component of Velocity | |
type(field_t), pointer | v_adj => null() |
y-component of Velocity | |
type(field_t), pointer | w_adj => null() |
z-component of Velocity | |
type(field_t), pointer | p_adj => null() |
Pressure. | |
type(field_series_t) | ulag |
fluid field (lag) | |
type(field_series_t) | vlag |
type(field_series_t) | wlag |
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(adjoint_source_term_t) | source_term |
The source term for the momentum equation. | |
type(field_t), pointer | f_adj_x => null() |
X-component of the right-hand side. | |
type(field_t), pointer | f_adj_y => null() |
Y-component of the right-hand side. | |
type(field_t), pointer | f_adj_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. | |
logical | if_gradient_jump_penalty |
Gradient jump panelty. | |
type(gradient_jump_penalty_t) | gradient_jump_penalty_u_adj |
type(gradient_jump_penalty_t) | gradient_jump_penalty_v_adj |
type(gradient_jump_penalty_t) | gradient_jump_penalty_w_adj |
type(bc_list_t) | bcs_prs |
type(bc_list_t) | bcs_vel |
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. | |
Definition at line 90 of file adjoint_fluid_scheme.f90.
procedure, pass(this) adjoint_fluid_scheme::adjoint_fluid_scheme_t::bc_apply_prs | ( | class(adjoint_fluid_scheme_t), intent(inout) | this, |
real(kind=rp), intent(in) | t, | ||
integer, intent(in) | tstep | ||
) |
Definition at line 189 of file adjoint_fluid_scheme.f90.
procedure, pass(this) adjoint_fluid_scheme::adjoint_fluid_scheme_t::bc_apply_vel | ( | class(adjoint_fluid_scheme_t), intent(inout) | this, |
real(kind=rp), intent(in) | t, | ||
integer, intent(in) | tstep, | ||
logical, intent(in) | strong | ||
) |
Definition at line 187 of file adjoint_fluid_scheme.f90.
procedure, pass(this) adjoint_fluid_scheme::adjoint_fluid_scheme_t::compute_cfl | ( | class(adjoint_fluid_scheme_t), intent(in) | this, |
real(kind=rp), intent(in) | dt | ||
) |
Definition at line 191 of file adjoint_fluid_scheme.f90.
|
pure virtual |
Definition at line 198 of file adjoint_fluid_scheme.f90.
|
pure virtual |
Definition at line 196 of file adjoint_fluid_scheme.f90.
procedure, pass(this) adjoint_fluid_scheme::adjoint_fluid_scheme_t::init_base | ( | class(adjoint_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 181 of file adjoint_fluid_scheme.f90.
procedure, pass(this) adjoint_fluid_scheme::adjoint_fluid_scheme_t::precon_factory_ | ( | class(adjoint_fluid_scheme_t), intent(inout) | this, |
class(pc_t), intent(inout), allocatable, target | pc, | ||
class(ksp_t), intent(inout), target | ksp, | ||
type(coef_t), intent(in), target | coef, | ||
type(dofmap_t), intent(in), target | dof, | ||
type(gs_t), intent(inout), target | gs, | ||
type(bc_list_t), intent(inout), target | bclst, | ||
character(len=*) | pctype | ||
) |
Definition at line 213 of file adjoint_fluid_scheme.f90.
|
pure virtual |
Definition at line 202 of file adjoint_fluid_scheme.f90.
procedure, pass(this) adjoint_fluid_scheme::adjoint_fluid_scheme_t::scheme_free | ( | class(adjoint_fluid_scheme_t), intent(inout) | this | ) |
Definition at line 183 of file adjoint_fluid_scheme.f90.
procedure, pass(this) adjoint_fluid_scheme::adjoint_fluid_scheme_t::set_material_properties | ( | class(adjoint_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 193 of file adjoint_fluid_scheme.f90.
|
pure virtual |
Definition at line 205 of file adjoint_fluid_scheme.f90.
|
static |
Definition at line 211 of file adjoint_fluid_scheme.f90.
|
pure virtual |
Definition at line 200 of file adjoint_fluid_scheme.f90.
procedure, pass(this) adjoint_fluid_scheme::adjoint_fluid_scheme_t::update_material_properties | ( | class(adjoint_fluid_scheme_t), intent(inout) | this | ) |
Definition at line 208 of file adjoint_fluid_scheme.f90.
procedure, pass(this) adjoint_fluid_scheme::adjoint_fluid_scheme_t::validate | ( | class(adjoint_fluid_scheme_t), intent(inout), target | this | ) |
Definition at line 185 of file adjoint_fluid_scheme.f90.
type(bc_list_t) adjoint_fluid_scheme::adjoint_fluid_scheme_t::bcs_prs |
Definition at line 144 of file adjoint_fluid_scheme.f90.
type(bc_list_t) adjoint_fluid_scheme::adjoint_fluid_scheme_t::bcs_vel |
Definition at line 146 of file adjoint_fluid_scheme.f90.
type(coef_t) adjoint_fluid_scheme::adjoint_fluid_scheme_t::c_xh |
Definition at line 108 of file adjoint_fluid_scheme.f90.
type(chkp_t) adjoint_fluid_scheme::adjoint_fluid_scheme_t::chkp |
Definition at line 150 of file adjoint_fluid_scheme.f90.
type(dofmap_t) adjoint_fluid_scheme::adjoint_fluid_scheme_t::dm_xh |
Definition at line 104 of file adjoint_fluid_scheme.f90.
Definition at line 112 of file adjoint_fluid_scheme.f90.
Definition at line 114 of file adjoint_fluid_scheme.f90.
Definition at line 116 of file adjoint_fluid_scheme.f90.
logical adjoint_fluid_scheme::adjoint_fluid_scheme_t::forced_flow_rate = .false. |
Definition at line 158 of file adjoint_fluid_scheme.f90.
logical adjoint_fluid_scheme::adjoint_fluid_scheme_t::freeze = .false. |
Definition at line 160 of file adjoint_fluid_scheme.f90.
Definition at line 174 of file adjoint_fluid_scheme.f90.
Definition at line 176 of file adjoint_fluid_scheme.f90.
type(gradient_jump_penalty_t) adjoint_fluid_scheme::adjoint_fluid_scheme_t::gradient_jump_penalty_u_adj |
Definition at line 139 of file adjoint_fluid_scheme.f90.
type(gradient_jump_penalty_t) adjoint_fluid_scheme::adjoint_fluid_scheme_t::gradient_jump_penalty_v_adj |
Definition at line 140 of file adjoint_fluid_scheme.f90.
type(gradient_jump_penalty_t) adjoint_fluid_scheme::adjoint_fluid_scheme_t::gradient_jump_penalty_w_adj |
Definition at line 141 of file adjoint_fluid_scheme.f90.
type(gs_t) adjoint_fluid_scheme::adjoint_fluid_scheme_t::gs_xh |
Definition at line 106 of file adjoint_fluid_scheme.f90.
logical adjoint_fluid_scheme::adjoint_fluid_scheme_t::if_gradient_jump_penalty |
Definition at line 138 of file adjoint_fluid_scheme.f90.
class(ksp_t), allocatable adjoint_fluid_scheme::adjoint_fluid_scheme_t::ksp_prs |
Definition at line 122 of file adjoint_fluid_scheme.f90.
class(ksp_t), allocatable adjoint_fluid_scheme::adjoint_fluid_scheme_t::ksp_vel |
Definition at line 120 of file adjoint_fluid_scheme.f90.
type(mean_flow_t) adjoint_fluid_scheme::adjoint_fluid_scheme_t::mean |
Definition at line 152 of file adjoint_fluid_scheme.f90.
type(mean_sqr_flow_t) adjoint_fluid_scheme::adjoint_fluid_scheme_t::mean_sqr |
Definition at line 156 of file adjoint_fluid_scheme.f90.
Definition at line 148 of file adjoint_fluid_scheme.f90.
Definition at line 162 of file adjoint_fluid_scheme.f90.
type(field_t) adjoint_fluid_scheme::adjoint_fluid_scheme_t::mu_field |
Definition at line 164 of file adjoint_fluid_scheme.f90.
character(len=:), allocatable adjoint_fluid_scheme::adjoint_fluid_scheme_t::nut_field_name |
Definition at line 166 of file adjoint_fluid_scheme.f90.
Definition at line 98 of file adjoint_fluid_scheme.f90.
class(pc_t), allocatable adjoint_fluid_scheme::adjoint_fluid_scheme_t::pc_prs |
Definition at line 126 of file adjoint_fluid_scheme.f90.
class(pc_t), allocatable adjoint_fluid_scheme::adjoint_fluid_scheme_t::pc_vel |
Definition at line 124 of file adjoint_fluid_scheme.f90.
integer adjoint_fluid_scheme::adjoint_fluid_scheme_t::pr_projection_activ_step |
Definition at line 134 of file adjoint_fluid_scheme.f90.
integer adjoint_fluid_scheme::adjoint_fluid_scheme_t::pr_projection_dim |
Definition at line 130 of file adjoint_fluid_scheme.f90.
Definition at line 170 of file adjoint_fluid_scheme.f90.
type(field_t) adjoint_fluid_scheme::adjoint_fluid_scheme_t::rho_field |
Definition at line 172 of file adjoint_fluid_scheme.f90.
type(scratch_registry_t) adjoint_fluid_scheme::adjoint_fluid_scheme_t::scratch |
Definition at line 178 of file adjoint_fluid_scheme.f90.
type(adjoint_source_term_t) adjoint_fluid_scheme::adjoint_fluid_scheme_t::source_term |
Definition at line 110 of file adjoint_fluid_scheme.f90.
type(fluid_stats_t) adjoint_fluid_scheme::adjoint_fluid_scheme_t::stats |
Definition at line 154 of file adjoint_fluid_scheme.f90.
logical adjoint_fluid_scheme::adjoint_fluid_scheme_t::strict_convergence |
Definition at line 136 of file adjoint_fluid_scheme.f90.
Definition at line 92 of file adjoint_fluid_scheme.f90.
type(field_series_t) adjoint_fluid_scheme::adjoint_fluid_scheme_t::ulag |
Definition at line 100 of file adjoint_fluid_scheme.f90.
Definition at line 94 of file adjoint_fluid_scheme.f90.
logical adjoint_fluid_scheme::adjoint_fluid_scheme_t::variable_material_properties = .false. |
Definition at line 168 of file adjoint_fluid_scheme.f90.
integer adjoint_fluid_scheme::adjoint_fluid_scheme_t::vel_projection_activ_step |
Definition at line 132 of file adjoint_fluid_scheme.f90.
integer adjoint_fluid_scheme::adjoint_fluid_scheme_t::vel_projection_dim |
Definition at line 128 of file adjoint_fluid_scheme.f90.
type(field_series_t) adjoint_fluid_scheme::adjoint_fluid_scheme_t::vlag |
Definition at line 100 of file adjoint_fluid_scheme.f90.
Definition at line 96 of file adjoint_fluid_scheme.f90.
type(field_series_t) adjoint_fluid_scheme::adjoint_fluid_scheme_t::wlag |
Definition at line 100 of file adjoint_fluid_scheme.f90.
type(space_t) adjoint_fluid_scheme::adjoint_fluid_scheme_t::xh |
Definition at line 102 of file adjoint_fluid_scheme.f90.