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

Contains extensions to the neko library required to run the topology optimization code.

Functions/Subroutines

subroutine, public reset (neko_case, design_iteration, output_base_fname)
 Reset the case data structure.
 
subroutine, public reset_adjoint (adjoint_case, neko_case, design_iteration, output_base_fname)
 Reset the adjoint case data structure.
 
subroutine, public vector_to_field (field, vector)
 Vector to field.
 
subroutine, public field_to_vector (vector, field)
 Field to vector.
 
subroutine, public get_scalar_indicies (i_primal, i_adjoint, scalars, adjoint_scalars, primal_name)
 get scalar indices
 

Function/Subroutine Documentation

◆ field_to_vector()

subroutine, public neko_ext::field_to_vector ( type(vector_t), intent(inout)  vector,
type(field_t), intent(in)  field 
)

This subroutine converts a field to a vector in the special case that they have the same dimension.

Parameters
[out]vectorthe output vector.
[in]fieldthe input field.

Definition at line 483 of file neko_ext.f90.

Here is the caller graph for this function:

◆ get_scalar_indicies()

subroutine, public neko_ext::get_scalar_indicies ( integer, intent(out)  i_primal,
integer, intent(out)  i_adjoint,
type(scalars_t), intent(inout)  scalars,
type(adjoint_scalars_t), intent(inout)  adjoint_scalars,
character(len=*), intent(in)  primal_name 
)

Given a primal scalar name, return the indices in the scalars and adjoint_scalars list corresponding to this pair.

Parameters
[out]i_primalIndex in the primal scalar list.
[out]i_adjointIndex in the adjoint scalar list.
[in,out]scalarsPrimal scalars list.
[in,out]adjoint_scalarsAdjoint scalars list.
[in]primal_nameName of the primal scalar.

Definition at line 508 of file neko_ext.f90.

Here is the caller graph for this function:

◆ reset()

subroutine, public neko_ext::reset ( type(case_t), intent(inout)  neko_case,
integer, intent(in)  design_iteration,
character(len=*), intent(in)  output_base_fname 
)

This subroutine resets the case data structure. It is called at the beginning of each iteration. It is used to reset the time step counter, the lagged time step parameters, the external BDF coefficients, the fluid and scalar fields, and the simulation components.

Parameters
[in,out]neko_caseCase data structure.
[in]design_iterationThe current design iteration. Spliced into neko_casef_out's filename so each design iteration's field output is kept, rather than every iteration overwriting the same numbered files.
[in]output_base_fnameneko_casef_out's pristine base filename, as configured from the case file (i.e. before any design-iteration tag has ever been spliced into it).

Definition at line 97 of file neko_ext.f90.

Here is the caller graph for this function:

◆ reset_adjoint()

subroutine, public neko_ext::reset_adjoint ( type(adjoint_case_t), intent(inout)  adjoint_case,
type(case_t), intent(inout)  neko_case,
integer, intent(in)  design_iteration,
character(len=*), intent(in)  output_base_fname 
)

This subroutine resets the adjoint case data structure. It is called at the beginning of each iteration. It is used to reset the time step counter, the lagged time step parameters, the external BDF coefficients, the adjoint fluid_adj and adjoint scalar fields.

Parameters
[in,out]adjoint_caseAdjoint case data structure.
[in]neko_casePrimal case.
[in]design_iterationThe current design iteration. Spliced into adjoint_casef_out's filename so each design iteration's adjoint output is kept, rather than every iteration overwriting the same numbered files.
[in]output_base_fnameadjoint_casef_out's pristine base filename, as configured from the case file (i.e. before any design-iteration tag has ever been spliced into it).

Definition at line 288 of file neko_ext.f90.

Here is the caller graph for this function:

◆ vector_to_field()

subroutine, public neko_ext::vector_to_field ( type(field_t), intent(inout)  field,
type(vector_t), intent(in)  vector 
)

This subroutine converts a vector to a field in the special case that they have the same dimension.

Parameters
[out]fieldthe output field.
[in]vectorthe input vector.

Definition at line 459 of file neko_ext.f90.

Here is the caller graph for this function: