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

Contains the adjoint_scalar_scheme_t type.

Data Types

interface  adjoint_scalar_scheme_free_intrf
 Abstract interface to dealocate a scalar formulation. More...
 
interface  adjoint_scalar_scheme_init_intrf
 Abstract interface to initialize a scalar formulation. More...
 
interface  adjoint_scalar_scheme_restart_intrf
 Abstract interface to restart a scalar formulation. More...
 
interface  adjoint_scalar_scheme_step_intrf
 Abstract interface to compute a time-step. More...
 
type  adjoint_scalar_scheme_t
 Base type for a scalar advection-diffusion solver. More...
 

Functions/Subroutines

subroutine adjoint_scalar_scheme_init (this, msh, c_xh, gs_xh, params_adjoint, params_primal, scheme, user, rho)
 Initialize all related components of the current scheme.
 
subroutine adjoint_scalar_scheme_free (this)
 Deallocate a scalar formulation.
 
subroutine adjoint_scalar_scheme_validate (this)
 Validate that all fields, solvers etc necessary for performing time-stepping are defined.
 
subroutine adjoint_scalar_scheme_solver_factory (ksp, n, solver, max_iter, abstol, monitor)
 Initialize a linear solver.
 
subroutine adjoint_scalar_scheme_precon_factory (pc, ksp, coef, dof, gs, bclst, pctype, pcparams)
 Initialize a Krylov preconditioner.
 
subroutine adjoint_scalar_scheme_update_material_properties (t, tstep, this)
 Call user material properties routine and update the values of lambda if necessary.
 
subroutine adjoint_scalar_scheme_set_material_properties (this, params_primal, user)
 Set lamdba and cp.
 

Function/Subroutine Documentation

◆ adjoint_scalar_scheme_free()

subroutine adjoint_scalar_scheme::adjoint_scalar_scheme_free ( class(adjoint_scalar_scheme_t), intent(inout)  this)

Definition at line 394 of file adjoint_scalar_scheme.f90.

◆ adjoint_scalar_scheme_init()

subroutine adjoint_scalar_scheme::adjoint_scalar_scheme_init ( class(adjoint_scalar_scheme_t), intent(inout), target  this,
type(mesh_t), intent(in), target  msh,
type(coef_t), intent(in), target  c_xh,
type(gs_t), intent(inout), target  gs_xh,
type(json_file), intent(inout), target  params_adjoint,
type(json_file), intent(inout), target  params_primal,
character(len=*), intent(in)  scheme,
type(user_t), intent(in), target  user,
type(field_t), intent(in), target  rho 
)
Parameters
[in,out]thisThe object.
mshThe mesh.
c_XhThe coefficients.
gs_XhThe gather-scatter.
params_adjointThe parameter dictionary in json for the adjoint.
params_primalThe parameter dictionary in json for the primal.
schemeThe name of the scalar scheme.
userType with user-defined procedures.
rhoThe density of the fluid.

Definition at line 252 of file adjoint_scalar_scheme.f90.

◆ adjoint_scalar_scheme_precon_factory()

subroutine adjoint_scalar_scheme::adjoint_scalar_scheme_precon_factory ( 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,
type(json_file), intent(inout)  pcparams 
)

Definition at line 483 of file adjoint_scalar_scheme.f90.

◆ adjoint_scalar_scheme_set_material_properties()

subroutine adjoint_scalar_scheme::adjoint_scalar_scheme_set_material_properties ( class(adjoint_scalar_scheme_t), intent(inout)  this,
type(json_file), intent(inout)  params_primal,
type(user_t), intent(in), target  user 
)
Parameters
[in,out]thisThe object.
params_primalThe case file configuration dictionary.
userThe user interface.

Definition at line 558 of file adjoint_scalar_scheme.f90.

◆ adjoint_scalar_scheme_solver_factory()

subroutine adjoint_scalar_scheme::adjoint_scalar_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)  abstol,
logical, intent(in)  monitor 
)
Note
Currently only supporting Krylov solvers

Definition at line 468 of file adjoint_scalar_scheme.f90.

◆ adjoint_scalar_scheme_update_material_properties()

subroutine adjoint_scalar_scheme::adjoint_scalar_scheme_update_material_properties ( real(kind=rp), intent(in)  t,
integer, intent(in)  tstep,
class(adjoint_scalar_scheme_t), intent(inout)  this 
)
Parameters
[in,out]thisThe object.
tTime value.
tstepCurrent time step.

Definition at line 516 of file adjoint_scalar_scheme.f90.

◆ adjoint_scalar_scheme_validate()

subroutine adjoint_scalar_scheme::adjoint_scalar_scheme_validate ( class(adjoint_scalar_scheme_t), intent(inout), target  this)

Definition at line 425 of file adjoint_scalar_scheme.f90.