MFEM
v4.2.0
Finite element discretization library
|
Helper class for handling essential boundary conditions. More...
#include <petsc.hpp>
Public Types | |
enum | Type { ZERO, CONSTANT, TIME_DEPENDENT } |
Public Member Functions | |
PetscBCHandler (Type _type=ZERO) | |
PetscBCHandler (Array< int > &ess_tdof_list, Type _type=ZERO) | |
virtual | ~PetscBCHandler () |
Type | GetType () const |
Returns the type of boundary conditions. More... | |
void | SetType (enum Type _type) |
Sets the type of boundary conditions. More... | |
virtual void | Eval (double t, Vector &g) |
Boundary conditions evaluation. More... | |
void | SetTDofs (Array< int > &list) |
Sets essential dofs (local, per-process numbering) More... | |
Array< int > & | GetTDofs () |
Gets essential dofs (local, per-process numbering) More... | |
void | SetTime (double t) |
Sets the current time. More... | |
void | SetUp (PetscInt n) |
SetUp the helper object, where n is the size of the solution vector. More... | |
void | ApplyBC (const Vector &x, Vector &y) |
y = x on ess_tdof_list_c and y = g (internally evaluated) on ess_tdof_list More... | |
void | ApplyBC (Vector &x) |
Replace boundary dofs with the current value. More... | |
void | FixResidualBC (const Vector &x, Vector &y) |
y = x-g on ess_tdof_list, the rest of y is unchanged More... | |
void | Zero (Vector &x) |
Replace boundary dofs with 0. More... | |
void | ZeroBC (const Vector &x, Vector &y) |
y = x on ess_tdof_list_c and y = 0 on ess_tdof_list More... | |
mfem::PetscBCHandler::PetscBCHandler | ( | Array< int > & | ess_tdof_list, |
enum PetscBCHandler::Type | _type = ZERO |
||
) |
|
inlinevirtual |
void mfem::PetscBCHandler::ApplyBC | ( | Vector & | x | ) |
|
inlinevirtual |
|
inline |
|
inline |
void mfem::PetscBCHandler::SetTDofs | ( | Array< int > & | list | ) |
|
inline |
|
inline |
void mfem::PetscBCHandler::SetUp | ( | PetscInt | n | ) |
void mfem::PetscBCHandler::Zero | ( | Vector & | x | ) |