Neko  0.8.1
A portable framework for high-order spectral element flow simulations
usr_scalar Module Reference

Defines dirichlet conditions for scalars. More...

Data Types

type  usr_scalar_t
 User defined dirichlet condition for scalars. More...
 
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, etcetc would be good. More...
 

Functions/Subroutines

subroutine usr_inflow_free (this)
 
subroutine usr_scalar_apply_scalar (this, x, n, t, tstep)
 Scalar apply Just imitating inflow for now, but we should look this over Applies boundary conditions in eval on x. More...
 
subroutine usr_scalar_apply_scalar_dev (this, x_d, t, tstep)
 Scalar apply (device version) Just imitating inflow for now, but we should look this over Applies boundary conditions in eval on x. More...
 
subroutine usr_scalar_apply_vector (this, x, y, z, n, t, tstep)
 No-op vector apply. More...
 
subroutine usr_scalar_apply_vector_dev (this, x_d, y_d, z_d, t, tstep)
 No-op vector apply (device version) More...
 
subroutine usr_scalar_set_coef (this, c)
 Assign coefficients (facet normals etc) More...
 
subroutine usr_scalar_set_eval (this, user_scalar_bc)
 Assign user provided eval function. More...
 
subroutine usr_scalar_validate (this)
 Validate user scalar condition. More...
 

Detailed Description

Defines dirichlet conditions for scalars.

Function/Subroutine Documentation

◆ usr_inflow_free()

subroutine usr_scalar::usr_inflow_free ( type(usr_scalar_t), intent(inout)  this)
private

Definition at line 101 of file usr_scalar.f90.

Here is the call graph for this function:

◆ 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 
)
private

Scalar apply Just imitating inflow for now, but we should look this over Applies boundary conditions in eval on x.

Parameters
xThe field array to apply the boundary condition to.
nThe size of x.

Definition at line 115 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 
)
private

Scalar apply (device version) Just imitating inflow for now, but we should look this over Applies boundary conditions in eval on x.

Parameters
xThe array of values to apply.
nThe size of x.

Definition at line 185 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 
)
private

No-op vector apply.

Definition at line 271 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 
)
private

No-op vector apply (device version)

Definition at line 283 of file usr_scalar.f90.

◆ usr_scalar_set_coef()

subroutine usr_scalar::usr_scalar_set_coef ( class(usr_scalar_t), intent(inout)  this,
type(coef_t), intent(inout), target  c 
)
private

Assign coefficients (facet normals etc)

Definition at line 298 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

Assign user provided eval function.

Parameters
user_scalar_bcUser specified scalar boundary condition

Definition at line 306 of file usr_scalar.f90.

◆ usr_scalar_validate()

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

Validate user scalar condition.

Definition at line 313 of file usr_scalar.f90.