Neko 1.99.9
A portable framework for high-order spectral element flow simulations
Loading...
Searching...
No Matches
scalar_bc_projector::scalar_bc_projector_t Type Reference

Projector for scalar boundary conditions. More...

Collaboration diagram for scalar_bc_projector::scalar_bc_projector_t:

Public Member Functions

procedure, pass(thisfree (this)
 Destructor.
 
procedure, pass(thismark_bc (this, bc)
 Add the constrained dofs from a scalar boundary condition.
 
procedure, pass(thismark_bc_list (this, bclst)
 Add the constrained dofs from all boundary conditions in a list.
 
generic mark (this, bc)
 Add the constrained dofs from a scalar boundary condition.
 
generic mark (this, bclst)
 Add the constrained dofs from all boundary conditions in a list.
 
procedure, pass(thisapply (this, x, n, strm)
 Apply the scalar boundary constraints by zeroing constrained dofs.
 
procedure, pass(thisdebug_output (this, field_name)
 Write a field showing the resolved scalar BC mask.
 

Public Attributes

type(mask_tdof_mask
 Union of constrained scalar degrees of freedom.
 

Detailed Description

Collects the constrained scalar degrees of freedom from one or more boundary conditions and applies them as a zeroing mask. For the scalar case this is it, i.e. there no actual resolution being done. Neumann conditions should simply never be marked at all. This type is therefore used purely for constraining the dirichlet boundary values to 0 in KSP solvers, the residual, etc.

Definition at line 58 of file scalar_bc_projector.f90.

Member Function/Subroutine Documentation

◆ apply()

procedure, pass(this) scalar_bc_projector::scalar_bc_projector_t::apply ( class(scalar_bc_projector_t), intent(in this,
real(kind=rp), dimension(n), intent(inout x,
integer, intent(in n,
type(c_ptr), intent(inout), optional  strm 
)
Parameters
[in,out]xScalar field values.
[in]nNumber of entries in x.
[in,out]strmOptional backend stream/queue used on device backends.

Definition at line 70 of file scalar_bc_projector.f90.

◆ debug_output()

procedure, pass(this) scalar_bc_projector::scalar_bc_projector_t::debug_output ( class(scalar_bc_projector_t), intent(inout this,
character(len=*), intent(in), optional  field_name 
)
Parameters
[in]field_nameOptional base name for the output file. The .fld is appended automatically.

Definition at line 72 of file scalar_bc_projector.f90.

◆ free()

procedure, pass(this) scalar_bc_projector::scalar_bc_projector_t::free ( class(scalar_bc_projector_t), intent(inout this)

Definition at line 63 of file scalar_bc_projector.f90.

◆ mark() [1/2]

generic scalar_bc_projector::scalar_bc_projector_t::mark ( class(scalar_bc_projector_t), intent(inout this,
class(bc_t), intent(in bc 
)

Appends the bc mask to thisdof_masks, sorts, and takes the unique set.

Parameters
[in]bcFinalized scalar boundary condition contributing dofs to the projector mask.

Definition at line 68 of file scalar_bc_projector.f90.

◆ mark() [2/2]

generic scalar_bc_projector::scalar_bc_projector_t::mark ( class(scalar_bc_projector_t), intent(inout this,
type(bc_list_t), intent(in bclst 
)
Parameters
[in]bclstList of scalar boundary conditions to merge into the projector mask.

Definition at line 68 of file scalar_bc_projector.f90.

◆ mark_bc()

procedure, pass(this) scalar_bc_projector::scalar_bc_projector_t::mark_bc ( class(scalar_bc_projector_t), intent(inout this,
class(bc_t), intent(in bc 
)

Appends the bc mask to thisdof_masks, sorts, and takes the unique set.

Parameters
[in]bcFinalized scalar boundary condition contributing dofs to the projector mask.

Definition at line 65 of file scalar_bc_projector.f90.

◆ mark_bc_list()

procedure, pass(this) scalar_bc_projector::scalar_bc_projector_t::mark_bc_list ( class(scalar_bc_projector_t), intent(inout this,
type(bc_list_t), intent(in bclst 
)
Parameters
[in]bclstList of scalar boundary conditions to merge into the projector mask.

Definition at line 67 of file scalar_bc_projector.f90.

Member Data Documentation

◆ dof_mask

type(mask_t) scalar_bc_projector::scalar_bc_projector_t::dof_mask

Definition at line 60 of file scalar_bc_projector.f90.


The documentation for this type was generated from the following file: