|
Neko 1.99.9
A portable framework for high-order spectral element flow simulations
|
Projector for scalar boundary conditions. More...

Public Member Functions | |
| procedure, pass(this) | free (this) |
| Destructor. | |
| procedure, pass(this) | mark_bc (this, bc) |
| Add the constrained dofs from a scalar boundary condition. | |
| procedure, pass(this) | mark_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(this) | apply (this, x, n, strm) |
| Apply the scalar boundary constraints by zeroing constrained dofs. | |
| procedure, pass(this) | debug_output (this, field_name) |
| Write a field showing the resolved scalar BC mask. | |
Public Attributes | |
| type(mask_t) | dof_mask |
| Union of constrained scalar degrees of freedom. | |
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.
| 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 | ||
| ) |
| [in,out] | x | Scalar field values. |
| [in] | n | Number of entries in x. |
| [in,out] | strm | Optional backend stream/queue used on device backends. |
Definition at line 70 of file scalar_bc_projector.f90.
| 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 | ||
| ) |
| [in] | field_name | Optional base name for the output file. The .fld is appended automatically. |
Definition at line 72 of file scalar_bc_projector.f90.
| 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.
| 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.
| [in] | bc | Finalized scalar boundary condition contributing dofs to the projector mask. |
Definition at line 68 of file scalar_bc_projector.f90.
| generic scalar_bc_projector::scalar_bc_projector_t::mark | ( | class(scalar_bc_projector_t), intent(inout) | this, |
| type(bc_list_t), intent(in) | bclst | ||
| ) |
| [in] | bclst | List of scalar boundary conditions to merge into the projector mask. |
Definition at line 68 of file scalar_bc_projector.f90.
| 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.
| [in] | bc | Finalized scalar boundary condition contributing dofs to the projector mask. |
Definition at line 65 of file scalar_bc_projector.f90.
| 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 | ||
| ) |
| [in] | bclst | List of scalar boundary conditions to merge into the projector mask. |
Definition at line 67 of file scalar_bc_projector.f90.
| type(mask_t) scalar_bc_projector::scalar_bc_projector_t::dof_mask |
Definition at line 60 of file scalar_bc_projector.f90.