Neko-TOP
A portable framework for high-order spectral element flow toplogy optimization.
Loading...
Searching...
No Matches
adjoint_fluid_scheme Module Reference

Fluid formulations.

Data Types

interface  adjoint_fluid_scheme_free_intrf
 Abstract interface to dealocate an adjoint formulation. More...
 
interface  adjoint_fluid_scheme_init_intrf
 Abstract interface to initialize an adjoint formulation. More...
 
interface  adjoint_fluid_scheme_restart_intrf
 Abstract interface to restart an adjoint scheme. More...
 
interface  adjoint_fluid_scheme_setup_bcs_intrf
 Abstract interface to setup boundary conditions. More...
 
interface  adjoint_fluid_scheme_step_intrf
 Abstract interface to compute a time-step. More...
 
type  adjoint_fluid_scheme_t
 Base type of all fluid formulations. More...
 

Functions/Subroutines

subroutine adjoint_fluid_scheme_init_base (this, msh, lx, params, scheme, user, kspv_init)
 Initialise an adjoint scheme.
 
subroutine adjoint_fluid_scheme_free (this)
 Deallocate a fluid formulation.
 
subroutine adjoint_fluid_scheme_validate (this)
 Validate that all fields, solvers etc necessary for performing time-stepping are defined.
 
subroutine adjoint_fluid_scheme_bc_apply_vel (this, t, tstep, strong)
 Apply all boundary conditions defined for velocity Here we perform additional gs operations to take care of shared points between elements that have different BCs, as done in Nek5000.
 
subroutine adjoint_fluid_scheme_bc_apply_prs (this, t, tstep)
 Apply all boundary conditions defined for pressure.
 
subroutine adjoint_fluid_scheme_solver_factory (ksp, n, solver, max_iter, abstol, monitor)
 Initialize a linear solver.
 
subroutine adjoint_fluid_scheme_precon_factory (this, pc, ksp, coef, dof, gs, bclst, pctype)
 Initialize a Krylov preconditioner.
 
real(kind=rp) function adjoint_compute_cfl (this, dt)
 Compute CFL.
 
subroutine adjoint_fluid_scheme_update_material_properties (this)
 Update the values of mu_field if necessary.
 
subroutine adjoint_fluid_scheme_set_material_properties (this, params, user)
 Sets rho and mu.
 

Function/Subroutine Documentation

◆ adjoint_compute_cfl()

real(kind=rp) function adjoint_fluid_scheme::adjoint_compute_cfl ( class(adjoint_fluid_scheme_t), intent(in this,
real(kind=rp), intent(in dt 
)
private

Definition at line 919 of file adjoint_fluid_scheme.f90.

◆ adjoint_fluid_scheme_bc_apply_prs()

subroutine adjoint_fluid_scheme::adjoint_fluid_scheme_bc_apply_prs ( class(adjoint_fluid_scheme_t), intent(inout this,
real(kind=rp), intent(in t,
integer, intent(in tstep 
)
private
Todo:
Why can't we call the interface here?

Definition at line 837 of file adjoint_fluid_scheme.f90.

◆ adjoint_fluid_scheme_bc_apply_vel()

subroutine adjoint_fluid_scheme::adjoint_fluid_scheme_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 
)
private
Todo:
Why can't we call the interface here?

Definition at line 823 of file adjoint_fluid_scheme.f90.

◆ adjoint_fluid_scheme_free()

subroutine adjoint_fluid_scheme::adjoint_fluid_scheme_free ( class(adjoint_fluid_scheme_t), intent(inout this)
private

Definition at line 710 of file adjoint_fluid_scheme.f90.

◆ adjoint_fluid_scheme_init_base()

subroutine adjoint_fluid_scheme::adjoint_fluid_scheme_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 
)
private

Initialize common data for the current scheme

Definition at line 295 of file adjoint_fluid_scheme.f90.

Here is the call graph for this function:

◆ adjoint_fluid_scheme_precon_factory()

subroutine adjoint_fluid_scheme::adjoint_fluid_scheme_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 
)
private

Definition at line 863 of file adjoint_fluid_scheme.f90.

◆ adjoint_fluid_scheme_set_material_properties()

subroutine adjoint_fluid_scheme::adjoint_fluid_scheme_set_material_properties ( class(adjoint_fluid_scheme_t), intent(inout this,
type(json_file), intent(inout params,
type(user_t), intent(in), target  user 
)
private
Parameters
paramsThe case paramter file.
userThe user interface.

Definition at line 1026 of file adjoint_fluid_scheme.f90.

◆ adjoint_fluid_scheme_solver_factory()

subroutine adjoint_fluid_scheme::adjoint_fluid_scheme_solver_factory ( class(ksp_t), intent(inout), allocatable, target  ksp,
integer, intent(in), value  n,
character(len=*), intent(in solver,
integer, intent(in max_iter,
real(kind=rp), intent(in abstol,
logical, intent(in monitor 
)
private
Note
Currently only supporting Krylov solvers

Definition at line 848 of file adjoint_fluid_scheme.f90.

◆ adjoint_fluid_scheme_update_material_properties()

subroutine adjoint_fluid_scheme::adjoint_fluid_scheme_update_material_properties ( class(adjoint_fluid_scheme_t), intent(inout this)
private

Definition at line 1009 of file adjoint_fluid_scheme.f90.

◆ adjoint_fluid_scheme_validate()

subroutine adjoint_fluid_scheme::adjoint_fluid_scheme_validate ( class(adjoint_fluid_scheme_t), intent(inout), target  this)
private

Definition at line 786 of file adjoint_fluid_scheme.f90.