Loading [MathJax]/extensions/tex2jax.js
Neko 0.9.99
A portable framework for high-order spectral element flow simulations
All Classes Namespaces Files Functions Variables Typedefs Enumerator Macros Pages
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, t, tstep, strong)
 Apply scalar by performing a masked copy.
 
subroutine field_dirichlet_apply_scalar_dev (this, x_d, t, tstep, strong)
 Apply scalar (device).
 
subroutine field_dirichlet_apply_vector (this, x, y, z, n, t, tstep, strong)
 (No-op) Apply vector.
 
subroutine field_dirichlet_apply_vector_dev (this, x_d, y_d, z_d, t, tstep, strong)
 (No-op) Apply vector (device).
 
subroutine field_dirichlet_finalize (this)
 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,
real(kind=rp), intent(in), optional  t,
integer, intent(in), optional  tstep,
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.
tTime.
tstepTime step.

Definition at line 168 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)  x_d,
real(kind=rp), intent(in), optional  t,
integer, intent(in), optional  tstep,
logical, intent(in), optional  strong 
)
private
Parameters
x_dDevice pointer to the field onto which to copy the values.
tTime.
tstepTime step.

Definition at line 191 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,
real(kind=rp), intent(in), optional  t,
integer, intent(in), optional  tstep,
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.
tTime.
tstepTime step.

Definition at line 218 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)  x_d,
type(c_ptr)  y_d,
type(c_ptr)  z_d,
real(kind=rp), intent(in), optional  t,
integer, intent(in), optional  tstep,
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.
tTime.
tstepTime step.

Definition at line 239 of file field_dirichlet.f90.

◆ field_dirichlet_finalize()

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

Definition at line 255 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 150 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 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 123 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 136 of file field_dirichlet.f90.