Neko-TOP
A portable framework for high-order spectral element flow toplogy optimization.
Loading...
Searching...
No Matches
adjoint_scalars::adjoint_scalars_t Type Reference

Type to manage multiple adjoint scalar transport equations. More...

Public Member Functions

generic init (this, n_adjoint_scalars, n_primal_scalars, msh, coef, gs, params_adjoint, params_primal, numerics_params, user, chkp, ulag, vlag, wlag, time_scheme, rho)
 Initialize the adjoint_scalars container.
 
generic init (this, msh, coef, gs, params_adjoint, params_primal, numerics_params, user, chkp, ulag, vlag, wlag, time_scheme, rho)
 Initialize the adjoint_scalars container.
 
procedure step (this, time, ext_bdf, dt_controller)
 Perform a time step for all scalar fields.
 
procedure restart (this, chkp)
 Restart from checkpoint data.
 
procedure validate (this)
 Check if the configuration is valid.
 
procedure free (this)
 Clean up all resources.
 

Public Attributes

class(adjoint_scalar_scheme_t), dimension(:), allocatable adjoint_scalar_fields
 The scalar fields.
 
class(ksp_t), allocatable shared_ksp
 Shared KSP solver for all scalar fields.
 

Detailed Description

Definition at line 61 of file adjoint_scalars.f90.

Member Function/Subroutine Documentation

◆ free()

procedure adjoint_scalars::adjoint_scalars_t::free ( class(adjoint_scalars_t), intent(inout)  this)

Definition at line 78 of file adjoint_scalars.f90.

◆ init() [1/2]

generic adjoint_scalars::adjoint_scalars_t::init ( class(adjoint_scalars_t), intent(inout)  this,
type(mesh_t), intent(in), target  msh,
type(coef_t), intent(in), target  coef,
type(gs_t), intent(inout), target  gs,
type(json_file), intent(inout), target  params_adjoint,
type(json_file), intent(inout), target  params_primal,
type(json_file), intent(inout), target  numerics_params,
type(user_t), intent(in), target  user,
type(chkp_t), intent(inout), target  chkp,
type(field_series_t), intent(in), target  ulag,
type(field_series_t), intent(in), target  vlag,
type(field_series_t), intent(in), target  wlag,
type(time_scheme_controller_t), intent(in), target  time_scheme,
type(field_t), intent(in), target  rho 
)

Initialize a single adjoint_scalar for backwards compatibility.

Parameters
[in,out]thisThe adjoint_scalars container.
[in]mshThe mesh structure used to define the field topology.
coefThe SEM coefficients.
[in,out]gsGather scatter object.
[in,out]params_adjointJSON parameters specific to the adjoint scalars.
[in,out]params_primalJSON parameters specific to the primal scalars.
[in,out]numerics_paramsJSON structure containing numerics parameters.
[in]userUser-defined interface.
[in,out]chkpCheckpointing structure.
[in]ulag,vlag,wlagField history of the primal velocity fields.
[in]time_schemeTime scheme controller.
[in]rhoDensity field.

Definition at line 68 of file adjoint_scalars.f90.

◆ init() [2/2]

generic adjoint_scalars::adjoint_scalars_t::init ( class(adjoint_scalars_t), intent(inout)  this,
integer, intent(in)  n_adjoint_scalars,
integer, intent(in)  n_primal_scalars,
type(mesh_t), intent(in), target  msh,
type(coef_t), intent(in), target  coef,
type(gs_t), intent(inout), target  gs,
type(json_file), intent(inout), target  params_adjoint,
type(json_file), intent(inout), target  params_primal,
type(json_file), intent(inout), target  numerics_params,
type(user_t), intent(in), target  user,
type(chkp_t), intent(inout), target  chkp,
type(field_series_t), intent(in), target  ulag,
type(field_series_t), intent(in), target  vlag,
type(field_series_t), intent(in), target  wlag,
type(time_scheme_controller_t), intent(in), target  time_scheme,
type(field_t), intent(in), target  rho 
)

Initialize the adjoint_scalars container.

Parameters
[in,out]thisThe adjoint_scalars container.
[in]n_adjoint_scalarsThe number of adjoint scalars.
[in]n_primal_scalarsThe number of primal scalars.
[in]mshThe mesh structure used to define the field topology.
coefThe SEM coefficients.
[in,out]gsGather scatter object.
[in,out]params_adjointJSON parameters specific to the adjoint scalars.
[in,out]params_primalJSON parameters specific to the primal scalars.
[in,out]numerics_paramsJSON structure containing numerics parameters.
[in]userUser-defined interface.
[in,out]chkpCheckpointing structure.
[in]ulag,vlag,wlagField history of the primal velocity fields.
[in]time_schemeTime scheme controller.
[in]rhoDensity field.

Definition at line 68 of file adjoint_scalars.f90.

◆ restart()

procedure adjoint_scalars::adjoint_scalars_t::restart ( class(adjoint_scalars_t), intent(inout)  this,
type(chkp_t), intent(inout)  chkp 
)

Definition at line 74 of file adjoint_scalars.f90.

◆ step()

procedure adjoint_scalars::adjoint_scalars_t::step ( class(adjoint_scalars_t), intent(inout)  this,
type(time_state_t), intent(in)  time,
type(time_scheme_controller_t), intent(inout)  ext_bdf,
type(time_step_controller_t), intent(inout)  dt_controller 
)

Definition at line 72 of file adjoint_scalars.f90.

◆ validate()

procedure adjoint_scalars::adjoint_scalars_t::validate ( class(adjoint_scalars_t), intent(inout)  this)

Definition at line 76 of file adjoint_scalars.f90.

Member Data Documentation

◆ adjoint_scalar_fields

class(adjoint_scalar_scheme_t), dimension(:), allocatable adjoint_scalars::adjoint_scalars_t::adjoint_scalar_fields

Definition at line 63 of file adjoint_scalars.f90.

◆ shared_ksp

class(ksp_t), allocatable adjoint_scalars::adjoint_scalars_t::shared_ksp

Definition at line 65 of file adjoint_scalars.f90.


The documentation for this type was generated from the following file: