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

Defines dirichlet conditions for scalars.

Data Types

interface  usr_scalar_bc_eval
 Abstract interface defining a user defined scalar boundary condition (pointwise) Just imitating inflow for now, but we should update this Probably passing the whole field, params, coef, etc, would be good. More...
 
type  usr_scalar_t
 User defined dirichlet condition for scalars. More...
 

Functions/Subroutines

subroutine usr_scalar_init (this, coef, json)
 Constructor.
 
subroutine usr_scalar_free (this)
 
subroutine usr_scalar_apply_scalar (this, x, n, t, tstep, strong)
 Scalar apply Just imitating inflow for now, but we should look this over Applies boundary conditions in eval on x.
 
subroutine usr_scalar_apply_scalar_dev (this, x_d, t, tstep, strong)
 Scalar apply (device version) Just imitating inflow for now, but we should look this over Applies boundary conditions in eval on x.
 
subroutine usr_scalar_apply_vector (this, x, y, z, n, t, tstep, strong)
 No-op vector apply.
 
subroutine usr_scalar_apply_vector_dev (this, x_d, y_d, z_d, t, tstep, strong)
 No-op vector apply (device version)
 
subroutine usr_scalar_set_eval (this, user_scalar_bc)
 Assign user provided eval function.
 
subroutine usr_scalar_validate (this)
 Validate user scalar condition.
 
subroutine usr_scalar_finalize (this, only_facets)
 Finalize.
 

Function/Subroutine Documentation

◆ usr_scalar_apply_scalar()

subroutine usr_scalar::usr_scalar_apply_scalar ( class(usr_scalar_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
xThe field array to apply the boundary condition to.
nThe size of x.

Definition at line 133 of file usr_scalar.f90.

Here is the call graph for this function:

◆ usr_scalar_apply_scalar_dev()

subroutine usr_scalar::usr_scalar_apply_scalar_dev ( class(usr_scalar_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
xThe array of values to apply.
nThe size of x.

Definition at line 209 of file usr_scalar.f90.

Here is the call graph for this function:

◆ usr_scalar_apply_vector()

subroutine usr_scalar::usr_scalar_apply_vector ( class(usr_scalar_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

Definition at line 303 of file usr_scalar.f90.

◆ usr_scalar_apply_vector_dev()

subroutine usr_scalar::usr_scalar_apply_vector_dev ( class(usr_scalar_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

Definition at line 316 of file usr_scalar.f90.

◆ usr_scalar_finalize()

subroutine usr_scalar::usr_scalar_finalize ( class(usr_scalar_t), intent(inout), target  this,
logical, intent(in), optional  only_facets 
)
private

Definition at line 358 of file usr_scalar.f90.

◆ usr_scalar_free()

subroutine usr_scalar::usr_scalar_free ( class(usr_scalar_t), intent(inout), target  this)
private

Definition at line 117 of file usr_scalar.f90.

Here is the call graph for this function:

◆ usr_scalar_init()

subroutine usr_scalar::usr_scalar_init ( class(usr_scalar_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 109 of file usr_scalar.f90.

◆ usr_scalar_set_eval()

subroutine usr_scalar::usr_scalar_set_eval ( class(usr_scalar_t), intent(inout this,
procedure(usr_scalar_bc_eval user_scalar_bc 
)
private
Parameters
user_scalar_bcUser specified scalar boundary condition

Definition at line 329 of file usr_scalar.f90.

◆ usr_scalar_validate()

subroutine usr_scalar::usr_scalar_validate ( class(usr_scalar_t), intent(inout this)
private

Definition at line 336 of file usr_scalar.f90.