|
AFEPack
|
#include <BilinearOperator.h>
公有成员 | |
| BilinearOperator () | |
| BilinearOperator (FEMSpace< value_type0, DIM, DOW, TDIM0 > &, FEMSpace< value_type1, DIM, DOW, TDIM1 > &) | |
| virtual | ~BilinearOperator () |
| void | reinit (FEMSpace< value_type0, DIM, DOW, TDIM0 > &, FEMSpace< value_type1, DIM, DOW, TDIM1 > &) |
| const FEMSpace< value_type0, DIM, DOW, TDIM0 > & | FEMSpace0 () const |
| const FEMSpace< value_type1, DIM, DOW, TDIM1 > & | FEMSpace1 () const |
| FEMSpace< value_type0, DIM, DOW, TDIM0 > * | FEMSpace0 () |
| FEMSpace< value_type1, DIM, DOW, TDIM1 > * | FEMSpace1 () |
| const SparsityPattern & | getSparsityPattern () const |
| SparsityPattern & | getSparsityPattern () |
| const int & | nDof0 () const |
| const int & | nDof1 () const |
| const int & | nMaxCouplingDof () const |
| int & | nDof0 () |
| int & | nDof1 () |
| int & | nMaxCouplingDof () |
| const std::vector< int > & | elementDof0 () const |
| const std::vector< int > & | elementDof1 () const |
| const int & | elementDof0 (const int &i) const |
| const int & | elementDof1 (const int &i) const |
| const FullMatrix< double > & | elementMatrix () const |
| const double | elementMatrix (const int &i, const int &j) const |
| FullMatrix< double > & | elementMatrix () |
| double & | elementMatrix (const int &i, const int &j) |
| void | buildDofInfo () |
| void | addElementPattern () |
| void | addElementMatrix () |
| void | getElementPattern (const Element< value_type0, DIM, DOW, TDIM0 > &, const Element< value_type1, DIM, DOW, TDIM1 > &) |
| const int & | algebricAccuracy () const |
| int & | algebricAccuracy () |
| virtual void | getElementMatrix (const Element< value_type0, DIM, DOW, TDIM0 > &, const Element< value_type1, DIM, DOW, TDIM1 > &, const typename ActiveElementPairIterator< DIM >::State state=ActiveElementPairIterator< DIM >::EQUAL)=0 |
| virtual void | build () |
| virtual void | buildSparsityPattern () |
| virtual void | buildSparseMatrix () |
私有属性 | |
| SparsityPattern | sparsity_pattern |
| FEMSpace< value_type0, DIM, DOW, TDIM0 > * | fem_space0 |
| FEMSpace< value_type1, DIM, DOW, TDIM1 > * | fem_space1 |
| int | n_dof0 |
| int | n_dof1 |
| int | n_max_coupling_dof |
| const std::vector< int > * | element_dof0 |
| const std::vector< int > * | element_dof1 |
| FullMatrix< double > | element_matrix |
| int | algebric_accuracy |
class BilinearOperator is the discretized version of the bilinear form on two linear space
thus for
and
to be finite dimensional space with basis function as
and
, respectively, the bilinear form can be given as a matrix with its entry as
The linear finite dimensional spaces here are two finite element space and the resulted matrix is a sparse matrix. The method getElementMatrix is a pure virtual function that you must specify this method in derived class to contruct an object. Typical code to use this class is as:
// definition of the derived class
class a_bilinear_operator :
public BilinearOperator<DIM, double>
{
... ...
virtual void getElementMatrix(const Element<double,DIM>&,
const Element<double,DIM>&);
... ...
}; a_bilinear_operator::getElementMatrix(const Element<double,DIM>&,
const Element<double,DIM>&)
{
// implementation code of this bilinear operator
... ...
}; // use this bilinear operator
void some_function()
{
... ...
a_bilinear_operator op(fem_space0, fem_space1);
a_bilinear_operator.algebricAccuracy() = 3;
a_bilinear_operator.build();
... ...
};
| BilinearOperator< DIM, value_type0, value_type1, DOW, TDIM0, TDIM1 >::BilinearOperator | ( | ) |
| BilinearOperator< DIM, value_type0, value_type1, DOW, TDIM0, TDIM1 >::BilinearOperator | ( | FEMSpace< value_type0, DIM, DOW, TDIM0 > & | , |
| FEMSpace< value_type1, DIM, DOW, TDIM1 > & | |||
| ) |
| virtual BilinearOperator< DIM, value_type0, value_type1, DOW, TDIM0, TDIM1 >::~BilinearOperator | ( | ) | [virtual] |
| void BilinearOperator< DIM, value_type0, value_type1, DOW, TDIM0, TDIM1 >::addElementMatrix | ( | ) |
| void BilinearOperator< DIM, value_type0, value_type1, DOW, TDIM0, TDIM1 >::addElementPattern | ( | ) |
| const int& BilinearOperator< DIM, value_type0, value_type1, DOW, TDIM0, TDIM1 >::algebricAccuracy | ( | ) | const [inline] |
| int& BilinearOperator< DIM, value_type0, value_type1, DOW, TDIM0, TDIM1 >::algebricAccuracy | ( | ) | [inline] |
| virtual void BilinearOperator< DIM, value_type0, value_type1, DOW, TDIM0, TDIM1 >::build | ( | ) | [virtual] |
| void BilinearOperator< DIM, value_type0, value_type1, DOW, TDIM0, TDIM1 >::buildDofInfo | ( | ) |
| virtual void BilinearOperator< DIM, value_type0, value_type1, DOW, TDIM0, TDIM1 >::buildSparseMatrix | ( | ) | [virtual] |
| virtual void BilinearOperator< DIM, value_type0, value_type1, DOW, TDIM0, TDIM1 >::buildSparsityPattern | ( | ) | [virtual] |
| const std::vector<int>& BilinearOperator< DIM, value_type0, value_type1, DOW, TDIM0, TDIM1 >::elementDof0 | ( | ) | const [inline] |
| const int& BilinearOperator< DIM, value_type0, value_type1, DOW, TDIM0, TDIM1 >::elementDof0 | ( | const int & | i | ) | const [inline] |
| const std::vector<int>& BilinearOperator< DIM, value_type0, value_type1, DOW, TDIM0, TDIM1 >::elementDof1 | ( | ) | const [inline] |
| const int& BilinearOperator< DIM, value_type0, value_type1, DOW, TDIM0, TDIM1 >::elementDof1 | ( | const int & | i | ) | const [inline] |
| const FullMatrix<double>& BilinearOperator< DIM, value_type0, value_type1, DOW, TDIM0, TDIM1 >::elementMatrix | ( | ) | const [inline] |
| const double BilinearOperator< DIM, value_type0, value_type1, DOW, TDIM0, TDIM1 >::elementMatrix | ( | const int & | i, |
| const int & | j | ||
| ) | const [inline] |
| FullMatrix<double>& BilinearOperator< DIM, value_type0, value_type1, DOW, TDIM0, TDIM1 >::elementMatrix | ( | ) | [inline] |
| double& BilinearOperator< DIM, value_type0, value_type1, DOW, TDIM0, TDIM1 >::elementMatrix | ( | const int & | i, |
| const int & | j | ||
| ) | [inline] |
| const FEMSpace<value_type0,DIM,DOW,TDIM0>& BilinearOperator< DIM, value_type0, value_type1, DOW, TDIM0, TDIM1 >::FEMSpace0 | ( | ) | const [inline] |
| FEMSpace<value_type0,DIM,DOW,TDIM0>* BilinearOperator< DIM, value_type0, value_type1, DOW, TDIM0, TDIM1 >::FEMSpace0 | ( | ) | [inline] |
| const FEMSpace<value_type1,DIM,DOW,TDIM1>& BilinearOperator< DIM, value_type0, value_type1, DOW, TDIM0, TDIM1 >::FEMSpace1 | ( | ) | const [inline] |
| FEMSpace<value_type1,DIM,DOW,TDIM1>* BilinearOperator< DIM, value_type0, value_type1, DOW, TDIM0, TDIM1 >::FEMSpace1 | ( | ) | [inline] |
| virtual void BilinearOperator< DIM, value_type0, value_type1, DOW, TDIM0, TDIM1 >::getElementMatrix | ( | const Element< value_type0, DIM, DOW, TDIM0 > & | , |
| const Element< value_type1, DIM, DOW, TDIM1 > & | , | ||
| const typename ActiveElementPairIterator< DIM >::State | state = ActiveElementPairIterator< DIM >::EQUAL |
||
| ) | [pure virtual] |
| void BilinearOperator< DIM, value_type0, value_type1, DOW, TDIM0, TDIM1 >::getElementPattern | ( | const Element< value_type0, DIM, DOW, TDIM0 > & | , |
| const Element< value_type1, DIM, DOW, TDIM1 > & | |||
| ) |
| const SparsityPattern& BilinearOperator< DIM, value_type0, value_type1, DOW, TDIM0, TDIM1 >::getSparsityPattern | ( | ) | const [inline] |
| SparsityPattern& BilinearOperator< DIM, value_type0, value_type1, DOW, TDIM0, TDIM1 >::getSparsityPattern | ( | ) | [inline] |
| const int& BilinearOperator< DIM, value_type0, value_type1, DOW, TDIM0, TDIM1 >::nDof0 | ( | ) | const [inline] |
| int& BilinearOperator< DIM, value_type0, value_type1, DOW, TDIM0, TDIM1 >::nDof0 | ( | ) | [inline] |
| const int& BilinearOperator< DIM, value_type0, value_type1, DOW, TDIM0, TDIM1 >::nDof1 | ( | ) | const [inline] |
| int& BilinearOperator< DIM, value_type0, value_type1, DOW, TDIM0, TDIM1 >::nDof1 | ( | ) | [inline] |
| const int& BilinearOperator< DIM, value_type0, value_type1, DOW, TDIM0, TDIM1 >::nMaxCouplingDof | ( | ) | const [inline] |
| int& BilinearOperator< DIM, value_type0, value_type1, DOW, TDIM0, TDIM1 >::nMaxCouplingDof | ( | ) | [inline] |
| void BilinearOperator< DIM, value_type0, value_type1, DOW, TDIM0, TDIM1 >::reinit | ( | FEMSpace< value_type0, DIM, DOW, TDIM0 > & | , |
| FEMSpace< value_type1, DIM, DOW, TDIM1 > & | |||
| ) |
int BilinearOperator< DIM, value_type0, value_type1, DOW, TDIM0, TDIM1 >::algebric_accuracy [private] |
const std::vector<int>* BilinearOperator< DIM, value_type0, value_type1, DOW, TDIM0, TDIM1 >::element_dof0 [private] |
const std::vector<int>* BilinearOperator< DIM, value_type0, value_type1, DOW, TDIM0, TDIM1 >::element_dof1 [private] |
FullMatrix<double> BilinearOperator< DIM, value_type0, value_type1, DOW, TDIM0, TDIM1 >::element_matrix [private] |
FEMSpace<value_type0,DIM,DOW,TDIM0>* BilinearOperator< DIM, value_type0, value_type1, DOW, TDIM0, TDIM1 >::fem_space0 [private] |
FEMSpace<value_type1,DIM,DOW,TDIM1>* BilinearOperator< DIM, value_type0, value_type1, DOW, TDIM0, TDIM1 >::fem_space1 [private] |
int BilinearOperator< DIM, value_type0, value_type1, DOW, TDIM0, TDIM1 >::n_dof0 [private] |
int BilinearOperator< DIM, value_type0, value_type1, DOW, TDIM0, TDIM1 >::n_dof1 [private] |
int BilinearOperator< DIM, value_type0, value_type1, DOW, TDIM0, TDIM1 >::n_max_coupling_dof [private] |
SparsityPattern BilinearOperator< DIM, value_type0, value_type1, DOW, TDIM0, TDIM1 >::sparsity_pattern [private] |
1.7.6.1