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

Defines user dirichlet condition for a scalar field.

Data Types

type  field_dirichlet_t
 User defined dirichlet condition, for which the user can work with an entire field. The type stores a separate dummy field field_bc, which is passed to the user routine and can be populated with arbitrary values. The boundary condition then copy-pastes these values to the actual solution field using the mask of the boundary condition. So, in the end, only the relevant boundary values are updated. More...
 
interface  field_dirichlet_update
 Abstract interface defining a dirichlet condition on a list of fields. More...
 

Functions/Subroutines

subroutine field_dirichlet_init (this, coef, json)
 Constructor.
 
subroutine field_dirichlet_init_from_components (this, coef, field_name)
 Constructor from components.
 
subroutine field_dirichlet_free (this)
 Destructor. Currently thisfield_bc is being freed in fluid_scheme_incompressible::free
 
subroutine field_dirichlet_apply_scalar (this, x, n, time, strong)
 Apply scalar by performing a masked copy.
 
subroutine field_dirichlet_apply_scalar_dev (this, x_d, time, strong, strm)
 Apply scalar (device).
 
subroutine field_dirichlet_apply_vector (this, x, y, z, n, time, strong)
 (No-op) Apply vector.
 
subroutine field_dirichlet_apply_vector_dev (this, x_d, y_d, z_d, time, strong, strm)
 (No-op) Apply vector (device).
 
subroutine field_dirichlet_finalize (this, only_facets)
 Finalize.
 

Function/Subroutine Documentation

◆ field_dirichlet_apply_scalar()

subroutine field_dirichlet::field_dirichlet_apply_scalar ( class(field_dirichlet_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 (e.g. u,v,w,p or s).
nSize of the array x.
timeThe current time state.

Definition at line 164 of file field_dirichlet.f90.

Here is the call graph for this function:

◆ field_dirichlet_apply_scalar_dev()

subroutine field_dirichlet::field_dirichlet_apply_scalar_dev ( class(field_dirichlet_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 194 of file field_dirichlet.f90.

Here is the call graph for this function:

◆ field_dirichlet_apply_vector()

subroutine field_dirichlet::field_dirichlet_apply_vector ( class(field_dirichlet_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
Parameters
xx-component of the field onto which to apply the values.
yy-component of the field onto which to apply the values.
zz-component of the field onto which to apply the values.
nSize of the x, y and z arrays.
timeThe current time state.

Definition at line 228 of file field_dirichlet.f90.

◆ field_dirichlet_apply_vector_dev()

subroutine field_dirichlet::field_dirichlet_apply_vector_dev ( class(field_dirichlet_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
Parameters
xx-component of the field onto which to apply the values.
yy-component of the field onto which to apply the values.
zz-component of the field onto which to apply the values.
timeThe current time state.
strmDevice stream

Definition at line 248 of file field_dirichlet.f90.

◆ field_dirichlet_finalize()

subroutine field_dirichlet::field_dirichlet_finalize ( class(field_dirichlet_t), intent(inout), target  this,
logical, intent(in), optional  only_facets 
)
private

Definition at line 263 of file field_dirichlet.f90.

◆ field_dirichlet_free()

subroutine field_dirichlet::field_dirichlet_free ( class(field_dirichlet_t), intent(inout), target  this)
private

Definition at line 147 of file field_dirichlet.f90.

◆ field_dirichlet_init()

subroutine field_dirichlet::field_dirichlet_init ( class(field_dirichlet_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 120 of file field_dirichlet.f90.

◆ field_dirichlet_init_from_components()

subroutine field_dirichlet::field_dirichlet_init_from_components ( class(field_dirichlet_t), intent(inout), target  this,
type(coef_t), intent(in coef,
character(len=*), intent(in field_name 
)
private
Parameters
[in]coefThe SEM coefficients.

Definition at line 133 of file field_dirichlet.f90.