Neko 1.99.9
A portable framework for high-order spectral element flow simulations
Loading...
Searching...
No Matches
overset_interface Module Reference

Defines overset interface scalar boundary conditions.

Data Types

interface  morph_overset_interface
 User callback for overset-interface morphing and boundary-value updates. More...
 
type  overset_interface_t
 Overset interface BC for a scalar field. More...
 

Functions/Subroutines

subroutine overset_interface_init (this, coef, json)
 Constructor.
 
subroutine overset_interface_init_from_components (this, coef, field_name, tol, pad, log, relaxation)
 Constructor from components.
 
subroutine overset_interface_free (this)
 Destructor.
 
subroutine overset_interface_restart (this, s, slag)
 Restore scalar interface history from an accepted solution field. The lag series is present for transported scalars and absent for pressure. Historical values are inserted oldest-to-newest, while the current accepted value remains in the base interface vector for the first regular update to shift into lag position one.
 
subroutine overset_interface_apply_scalar (this, x, n, time, strong)
 Apply scalar.
 
subroutine overset_interface_apply_scalar_dev (this, x_d, time, strong, strm)
 Apply scalar (device).
 
subroutine overset_interface_apply_vector (this, x, y, z, n, time, strong)
 (No-op) Apply vector.
 
subroutine overset_interface_apply_vector_dev (this, x_d, y_d, z_d, time, strong, strm)
 (No-op) Apply vector (device).
 
subroutine overset_interface_finalize (this)
 Finalize by building the mask arrays and preparing interpolation data.
 
subroutine overset_interface_update (this, time)
 Update values at the overset interface.
 
subroutine relax_interface_value_ (this)
 Under-relax a Schwarz correction using the previously applied interface. Blend the new donor value g_new with the preceding Schwarz iterate g_old as g = relaxation * g_new + (1 - relaxation) * g_old. The caller skips this routine on the first pass of every physical timestep, preserving the temporal accuracy of the IEXT prediction.
 
subroutine log_interface_error_ (this, s)
 Log interface RMSE for the scalar field.
 
subroutine build_masks_ (this)
 Build masks.
 
subroutine gather_interface_dofs_ (this)
 Gather interface dofs.
 
subroutine setup_interpolator_ (this)
 Set up the global interpolator.
 

Function/Subroutine Documentation

◆ build_masks_()

subroutine overset_interface::build_masks_ ( class(overset_interface_t), intent(inout)  this)
private

Definition at line 611 of file overset_interface.f90.

Here is the call graph for this function:

◆ gather_interface_dofs_()

subroutine overset_interface::gather_interface_dofs_ ( class(overset_interface_t), intent(inout)  this)
private

Definition at line 662 of file overset_interface.f90.

Here is the call graph for this function:

◆ log_interface_error_()

subroutine overset_interface::log_interface_error_ ( class(overset_interface_t), intent(inout)  this,
type(field_t), intent(in), pointer  s 
)
private

Definition at line 583 of file overset_interface.f90.

Here is the call graph for this function:

◆ overset_interface_apply_scalar()

subroutine overset_interface::overset_interface_apply_scalar ( class(overset_interface_t), intent(inout)  this,
real(kind=rp), dimension(n), intent(inout)  x,
integer, intent(in)  n,
type(time_state_t), intent(in), optional  time,
logical, intent(in), optional  strong 
)
private
Parameters
xField onto which to copy the values.
nSize of the array x.
timeThe current time state.

Definition at line 346 of file overset_interface.f90.

Here is the call graph for this function:

◆ overset_interface_apply_scalar_dev()

subroutine overset_interface::overset_interface_apply_scalar_dev ( class(overset_interface_t), intent(inout), target  this,
type(c_ptr), intent(inout)  x_d,
type(time_state_t), intent(in), optional  time,
logical, intent(in), optional  strong,
type(c_ptr), intent(inout)  strm 
)
private
Parameters
x_dDevice pointer to the field onto which to copy the values.
timeThe current time state.
strmDevice stream

Definition at line 377 of file overset_interface.f90.

Here is the call graph for this function:

◆ overset_interface_apply_vector()

subroutine overset_interface::overset_interface_apply_vector ( class(overset_interface_t), intent(inout)  this,
real(kind=rp), dimension(n), intent(inout)  x,
real(kind=rp), dimension(n), intent(inout)  y,
real(kind=rp), dimension(n), intent(inout)  z,
integer, intent(in)  n,
type(time_state_t), intent(in), optional  time,
logical, intent(in), optional  strong 
)
private

Definition at line 408 of file overset_interface.f90.

◆ overset_interface_apply_vector_dev()

subroutine overset_interface::overset_interface_apply_vector_dev ( class(overset_interface_t), intent(inout), target  this,
type(c_ptr), intent(inout)  x_d,
type(c_ptr), intent(inout)  y_d,
type(c_ptr), intent(inout)  z_d,
type(time_state_t), intent(in), optional  time,
logical, intent(in), optional  strong,
type(c_ptr), intent(inout)  strm 
)
private

Definition at line 423 of file overset_interface.f90.

◆ overset_interface_finalize()

subroutine overset_interface::overset_interface_finalize ( class(overset_interface_t), intent(inout), target  this)
private

Definition at line 439 of file overset_interface.f90.

◆ overset_interface_free()

subroutine overset_interface::overset_interface_free ( class(overset_interface_t), intent(inout), target  this)
private

Definition at line 281 of file overset_interface.f90.

◆ overset_interface_init()

subroutine overset_interface::overset_interface_init ( class(overset_interface_t), intent(inout), target  this,
type(coef_t), intent(in), target  coef,
type(json_file), intent(inout)  json 
)
private
Parameters
[in]coefThe SEM coefficients.
[in,out]jsonThe JSON object configuring the boundary condition.

Definition at line 184 of file overset_interface.f90.

◆ overset_interface_init_from_components()

subroutine overset_interface::overset_interface_init_from_components ( class(overset_interface_t), intent(inout), target  this,
type(coef_t), intent(in)  coef,
character(len=*), intent(in)  field_name,
real(kind=rp), intent(in), optional  tol,
real(kind=rp), intent(in), optional  pad,
logical, intent(in), optional  log,
real(kind=rp), intent(in), optional  relaxation 
)
private
Parameters
[in]coefThe SEM coefficients.
[in]relaxationUnder-relaxation factor for interface updates.

Definition at line 213 of file overset_interface.f90.

Here is the call graph for this function:

◆ overset_interface_restart()

subroutine overset_interface::overset_interface_restart ( class(overset_interface_t), intent(inout)  this,
type(field_t), intent(in)  s,
type(field_series_t), intent(in), optional  slag 
)
private

Definition at line 317 of file overset_interface.f90.

Here is the call graph for this function:

◆ overset_interface_update()

subroutine overset_interface::overset_interface_update ( class(overset_interface_t), intent(inout)  this,
type(time_state_t), intent(in)  time 
)
private

Change the coordinates of the interface if set up by the user

Find points if needed - later make sure only in first substep

Definition at line 477 of file overset_interface.f90.

Here is the call graph for this function:

◆ relax_interface_value_()

subroutine overset_interface::relax_interface_value_ ( class(overset_interface_t), intent(inout)  this)
private

Definition at line 557 of file overset_interface.f90.

Here is the call graph for this function:

◆ setup_interpolator_()

subroutine overset_interface::setup_interpolator_ ( class(overset_interface_t), intent(inout)  this)
private

Definition at line 679 of file overset_interface.f90.