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
neumann Module Reference

Defines a Neumann boundary condition.

Data Types

type  neumann_t
 A Neumann boundary condition for scalar fields. Sets the flux of the field to the chosen value. More...
 

Functions/Subroutines

subroutine neumann_init (this, coef, json)
 Constructor.
 
subroutine neumann_init_from_components (this, coef, flux)
 Constructor from components.
 
subroutine neumann_apply_scalar (this, x, n, t, tstep, strong)
 Boundary condition apply for a generic Neumann condition to a vector x.
 
subroutine neumann_apply_vector (this, x, y, z, n, t, tstep, strong)
 Boundary condition apply for a generic Neumann condition to vectors x, y and z.
 
subroutine neumann_apply_scalar_dev (this, x_d, t, tstep, strong)
 Boundary condition apply for a generic Neumann condition to a vector x (device version)
 
subroutine neumann_apply_vector_dev (this, x_d, y_d, z_d, t, tstep, strong)
 Boundary condition apply for a generic Neumann condition to vectors x, y and z (device version)
 
subroutine neumann_free (this)
 Destructor.
 
subroutine neumann_finalize (this)
 Finalize by setting the flux.
 
pure real(kind=rp) function, dimension(this%msk(0)) neumann_flux (this)
 Get the flux.
 
subroutine neumann_set_flux_scalar (this, flux)
 Set the flux using a scalar.
 
subroutine neumann_set_flux_array (this, flux)
 Set the flux using an array of values.
 

Function/Subroutine Documentation

◆ neumann_apply_scalar()

subroutine neumann::neumann_apply_scalar ( class(neumann_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

Definition at line 109 of file neumann.f90.

Here is the call graph for this function:

◆ neumann_apply_scalar_dev()

subroutine neumann::neumann_apply_scalar_dev ( class(neumann_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

Definition at line 163 of file neumann.f90.

◆ neumann_apply_vector()

subroutine neumann::neumann_apply_vector ( class(neumann_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 147 of file neumann.f90.

◆ neumann_apply_vector_dev()

subroutine neumann::neumann_apply_vector_dev ( class(neumann_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 176 of file neumann.f90.

◆ neumann_finalize()

subroutine neumann::neumann_finalize ( class(neumann_t), intent(inout), target  this)
private

Definition at line 198 of file neumann.f90.

Here is the call graph for this function:

◆ neumann_flux()

pure real(kind=rp) function, dimension(this%msk(0)) neumann::neumann_flux ( class(neumann_t), intent(in this)
private

Definition at line 208 of file neumann.f90.

◆ neumann_free()

subroutine neumann::neumann_free ( class(neumann_t), intent(inout), target  this)
private

Definition at line 190 of file neumann.f90.

◆ neumann_init()

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

Definition at line 82 of file neumann.f90.

◆ neumann_init_from_components()

subroutine neumann::neumann_init_from_components ( class(neumann_t), intent(inout), target  this,
type(coef_t), intent(in coef,
real(kind=rp), intent(in flux 
)
private
Parameters
[in]coefThe SEM coefficients.
[in]gThe value to apply at the boundary.

Definition at line 98 of file neumann.f90.

◆ neumann_set_flux_array()

subroutine neumann::neumann_set_flux_array ( class(neumann_t), intent(inout this,
real(kind=rp), dimension(this%msk(0)), intent(in flux 
)
private
Parameters
fluxThe desired flux.

Definition at line 225 of file neumann.f90.

Here is the call graph for this function:

◆ neumann_set_flux_scalar()

subroutine neumann::neumann_set_flux_scalar ( class(neumann_t), intent(inout this,
real(kind=rp), intent(in flux 
)
private

Definition at line 216 of file neumann.f90.