AFEPack
|
#include <FEMSpace.h>
公有类型 | |
typedef FEMSpace< value_type, DIM, DOW, TDIM >::bmark_t | bmark_t |
公有成员 | |
BoundaryConditionAdmin (const FEMSpace< value_type, DIM, DOW, TDIM > &sp=*((const FEMSpace< value_type, DIM, DOW, TDIM > *)(NULL))) | |
~BoundaryConditionAdmin () | |
void | reinit (const FEMSpace< value_type, DIM, DOW, TDIM > &sp) |
void | setFemSpace (const FEMSpace< value_type, DIM, DOW, TDIM > &sp) |
const FEMSpace< value_type, DIM, DOW, TDIM > & | femSpace () const |
void | apply (SparseMatrix< double > &A, Vector< double > &u, Vector< double > &f, bool preserve_symmetry=true) |
void | clearEntry (Vector< double > &f) |
void | add (const BoundaryCondition< value_type, DIM, DOW, TDIM, Number > &b) |
bool | isValid (const BoundaryCondition< value_type, DIM, DOW, TDIM, Number > &bc) const |
const BoundaryCondition < value_type, DIM, DOW, TDIM, Number > & | find (const bmark_t &bm) const |
私有属性 | |
std::vector< int > | index_map |
const FEMSpace< value_type, DIM, DOW, TDIM > * | fem_space |
Boundary condition. This class provides facilities to apply a Dirichlet boundary condition on the sparse matrix and right hand side vector discretized from the finite element space. It can include a list of boundary condition for different material boundary, and try retrieve the correct boundary condition for them respectively.
typedef FEMSpace<value_type,DIM,DOW,TDIM>::bmark_t BoundaryConditionAdmin< value_type, DIM, DOW, TDIM, Number >::bmark_t |
BoundaryConditionAdmin< value_type, DIM, DOW, TDIM, Number >::BoundaryConditionAdmin | ( | const FEMSpace< value_type, DIM, DOW, TDIM > & | sp = *((const FEMSpace<value_type,DIM,DOW,TDIM> *)(NULL)) | ) | [inline] |
BoundaryConditionAdmin< value_type, DIM, DOW, TDIM, Number >::~BoundaryConditionAdmin | ( | ) | [inline] |
void BoundaryConditionAdmin< value_type, DIM, DOW, TDIM, Number >::add | ( | const BoundaryCondition< value_type, DIM, DOW, TDIM, Number > & | b | ) |
void BoundaryConditionAdmin< value_type, DIM, DOW, TDIM, Number >::apply | ( | SparseMatrix< double > & | A, |
Vector< double > & | u, | ||
Vector< double > & | f, | ||
bool | preserve_symmetry = true |
||
) |
Apply the boundary conditions on the given sparse matrix, right hand side vector and the undetermined variables.
void BoundaryConditionAdmin< value_type, DIM, DOW, TDIM, Number >::clearEntry | ( | Vector< double > & | f | ) |
const FEMSpace<value_type,DIM,DOW,TDIM>& BoundaryConditionAdmin< value_type, DIM, DOW, TDIM, Number >::femSpace | ( | ) | const [inline] |
const BoundaryCondition<value_type,DIM,DOW,TDIM,Number>& BoundaryConditionAdmin< value_type, DIM, DOW, TDIM, Number >::find | ( | const bmark_t & | bm | ) | const [inline] |
bool BoundaryConditionAdmin< value_type, DIM, DOW, TDIM, Number >::isValid | ( | const BoundaryCondition< value_type, DIM, DOW, TDIM, Number > & | bc | ) | const [inline] |
void BoundaryConditionAdmin< value_type, DIM, DOW, TDIM, Number >::reinit | ( | const FEMSpace< value_type, DIM, DOW, TDIM > & | sp | ) | [inline] |
void BoundaryConditionAdmin< value_type, DIM, DOW, TDIM, Number >::setFemSpace | ( | const FEMSpace< value_type, DIM, DOW, TDIM > & | sp | ) | [inline] |
const FEMSpace<value_type,DIM,DOW,TDIM>* BoundaryConditionAdmin< value_type, DIM, DOW, TDIM, Number >::fem_space [private] |
std::vector<int> BoundaryConditionAdmin< value_type, DIM, DOW, TDIM, Number >::index_map [private] |