Neko  0.9.0
A portable framework for high-order spectral element flow simulations
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_apply_scalar (this, x, n, t, tstep)
 Boundary condition apply for a generic Neumann condition to a vector x. More...
 
subroutine neumann_apply_vector (this, x, y, z, n, t, tstep)
 Boundary condition apply for a generic Neumann condition to vectors x, y and z. More...
 
subroutine neumann_apply_scalar_dev (this, x_d, t, tstep)
 Boundary condition apply for a generic Neumann condition to a vector x (device version) More...
 
subroutine neumann_apply_vector_dev (this, x_d, y_d, z_d, t, tstep)
 Boundary condition apply for a generic Neumann condition to vectors x, y and z (device version) More...
 
subroutine neumann_free (this)
 Destructor. More...
 
pure real(kind=rp) function, dimension(this%msk(0)) neumann_flux (this)
 Get the flux. More...
 
subroutine neumann_set_flux_scalar (this, flux)
 Set the flux using a scalar. More...
 
subroutine neumann_set_flux_array (this, flux)
 Set the flux using an array of values. More...
 
subroutine neumann_finalize_neumann (this, flux)
 Finalize by setting the flux. More...
 

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 
)

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

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

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

Definition at line 131 of file neumann.f90.

◆ neumann_finalize_neumann()

subroutine neumann::neumann_finalize_neumann ( class(neumann_t), intent(inout)  this,
real(kind=rp), intent(in)  flux 
)
private
Parameters
fluxThe desired flux.

Definition at line 178 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 152 of file neumann.f90.

◆ neumann_free()

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

Definition at line 144 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 169 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 160 of file neumann.f90.