MFEM  v4.2.0
Finite element discretization library
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Pages
Public Types | Public Member Functions | List of all members
mfem::PetscBCHandler Class Reference

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...
 

Detailed Description

Helper class for handling essential boundary conditions.

Definition at line 452 of file petsc.hpp.

Member Enumeration Documentation

Enumerator
ZERO 
CONSTANT 

Constant in time b.c.

TIME_DEPENDENT 

Definition at line 455 of file petsc.hpp.

Constructor & Destructor Documentation

mfem::PetscBCHandler::PetscBCHandler ( Type  _type = ZERO)
inline

Definition at line 462 of file petsc.hpp.

mfem::PetscBCHandler::PetscBCHandler ( Array< int > &  ess_tdof_list,
enum PetscBCHandler::Type  _type = ZERO 
)

Definition at line 2181 of file petsc.cpp.

virtual mfem::PetscBCHandler::~PetscBCHandler ( )
inlinevirtual

Definition at line 467 of file petsc.hpp.

Member Function Documentation

void mfem::PetscBCHandler::ApplyBC ( const Vector x,
Vector y 
)

y = x on ess_tdof_list_c and y = g (internally evaluated) on ess_tdof_list

Definition at line 2212 of file petsc.cpp.

void mfem::PetscBCHandler::ApplyBC ( Vector x)

Replace boundary dofs with the current value.

Definition at line 2237 of file petsc.cpp.

virtual void mfem::PetscBCHandler::Eval ( double  t,
Vector g 
)
inlinevirtual

Boundary conditions evaluation.

In the result vector, g, only values at the essential dofs need to be set.

Definition at line 478 of file petsc.hpp.

void mfem::PetscBCHandler::FixResidualBC ( const Vector x,
Vector y 
)

y = x-g on ess_tdof_list, the rest of y is unchanged

Definition at line 2261 of file petsc.cpp.

Array<int>& mfem::PetscBCHandler::GetTDofs ( )
inline

Gets essential dofs (local, per-process numbering)

Definition at line 485 of file petsc.hpp.

Type mfem::PetscBCHandler::GetType ( ) const
inline

Returns the type of boundary conditions.

Definition at line 470 of file petsc.hpp.

void mfem::PetscBCHandler::SetTDofs ( Array< int > &  list)

Sets essential dofs (local, per-process numbering)

Definition at line 2189 of file petsc.cpp.

void mfem::PetscBCHandler::SetTime ( double  t)
inline

Sets the current time.

Definition at line 488 of file petsc.hpp.

void mfem::PetscBCHandler::SetType ( enum Type  _type)
inline

Sets the type of boundary conditions.

Definition at line 473 of file petsc.hpp.

void mfem::PetscBCHandler::SetUp ( PetscInt  n)

SetUp the helper object, where n is the size of the solution vector.

Definition at line 2196 of file petsc.cpp.

void mfem::PetscBCHandler::Zero ( Vector x)

Replace boundary dofs with 0.

Definition at line 2280 of file petsc.cpp.

void mfem::PetscBCHandler::ZeroBC ( const Vector x,
Vector y 
)

y = x on ess_tdof_list_c and y = 0 on ess_tdof_list

Definition at line 2289 of file petsc.cpp.


The documentation for this class was generated from the following files: