#include <Discretization.hpp>


Public Member Functions | |
| void | setDirichletList (const Vector< bool > &dirichletList) |
| virtual void | assembleMatrix ()=0 |
| virtual void | assembleSecondMember ()=0 |
| virtual void | getDiagonal (BaseVector &u) const =0 |
| virtual void | transposedTimesX (const BaseVector &x, BaseVector &v) const =0 |
| virtual void | timesX (const BaseVector &x, BaseVector &v) const =0 |
| const Problem & | problem () const |
| BaseMatrix & | A () |
| BaseVector & | b () |
| Discretization (const DiscretizationType &discretizationType, const Problem &problem, BaseMatrix &A, BaseVector &b) | |
| Discretization (const Discretization &d) | |
| virtual | ~Discretization () |
Protected Attributes | |
| const DiscretizationType | __discretizationType |
| const Problem & | __problem |
| The PDEProblem to discretize. | |
| BaseMatrix & | __A |
| The matrix which will contain the discretization. | |
| BaseVector & | __b |
| The second member. | |
| const Vector< bool > * | __dirichletList |
| elimination dirichlet informations | |
Definition at line 40 of file Discretization.hpp.
| Discretization::Discretization | ( | const DiscretizationType & | discretizationType, | |
| const Problem & | problem, | |||
| BaseMatrix & | A, | |||
| BaseVector & | b | |||
| ) | [inline] |
Constructor
| discretizationType | discretization type | |
| problem | given problem | |
| A | matrix to build | |
| b | second member |
Definition at line 153 of file Discretization.hpp.
00157 : __discretizationType(discretizationType), 00158 __problem(problem), 00159 __A(A), 00160 __b(b), 00161 __dirichletList(0) 00162 { 00163 ; 00164 }
| Discretization::Discretization | ( | const Discretization & | d | ) | [inline] |
Copy constructor
| d | discretization |
Definition at line 171 of file Discretization.hpp.
00172 : __discretizationType(d.__discretizationType), 00173 __problem(d.__problem), 00174 __A(d.__A), 00175 __b(d.__b), 00176 __dirichletList(0) 00177 { 00178 ; 00179 }
| virtual Discretization::~Discretization | ( | ) | [inline, virtual] |
| void Discretization::setDirichletList | ( | const Vector< bool > & | dirichletList | ) | [inline] |
Sets dirichlet vertices list
| dirichletList | list of dirichlet vertices |
Definition at line 63 of file Discretization.hpp.
References __dirichletList, and ASSERT.
00064 { 00065 ASSERT(__dirichletList == 0); 00066 __dirichletList = &dirichletList; 00067 }
| virtual void Discretization::assembleMatrix | ( | ) | [pure virtual] |
Computes the matrix using the problem
Implemented in FEMDiscretization< GivenMeshType, TypeOfDiscretization >, FEMDiscretization< Structured3DMesh, TypeOfDiscretization >, SpectralLegendreDiscretizationConform, and SpectralLegendreDiscretizationNonConform.
| virtual void Discretization::assembleSecondMember | ( | ) | [pure virtual] |
Computes the second memeber using the problem
Implemented in FEMDiscretization< GivenMeshType, TypeOfDiscretization >, FEMDiscretization< Structured3DMesh, TypeOfDiscretization >, SpectralLegendreDiscretizationConform, and SpectralLegendreDiscretizationNonConform.
| virtual void Discretization::getDiagonal | ( | BaseVector & | u | ) | const [pure virtual] |
Provides interface for to allow computation without matrix
| u | the vector representing the diagonal |
Implemented in FEMDiscretization< GivenMeshType, TypeOfDiscretization >, FEMDiscretization< Structured3DMesh, TypeOfDiscretization >, SpectralLegendreDiscretizationConform, and SpectralLegendreDiscretizationNonConform.
| virtual void Discretization::transposedTimesX | ( | const BaseVector & | x, | |
| BaseVector & | v | |||
| ) | const [pure virtual] |
Provides interface for to allow computation without matrix
| x | the vector | |
| v | the result |
Implemented in FEMDiscretization< GivenMeshType, TypeOfDiscretization >, FEMDiscretization< Structured3DMesh, TypeOfDiscretization >, SpectralLegendreDiscretizationConform, and SpectralLegendreDiscretizationNonConform.
| virtual void Discretization::timesX | ( | const BaseVector & | x, | |
| BaseVector & | v | |||
| ) | const [pure virtual] |
Provides interface for to allow computation without matrix
| x | the vector | |
| v | the result |
Implemented in FEMDiscretization< GivenMeshType, TypeOfDiscretization >, FEMDiscretization< Structured3DMesh, TypeOfDiscretization >, SpectralLegendreDiscretizationConform, and SpectralLegendreDiscretizationNonConform.
| const Problem& Discretization::problem | ( | ) | const [inline] |
Read only access to the problem
Definition at line 109 of file Discretization.hpp.
References __problem.
Referenced by SpectralLegendreDiscretizationNonConform::_getLocalDiscretizer(), FEMDiscretization< Structured3DMesh, TypeOfDiscretization >::assembleSecondMember(), and FEMDiscretization< GivenMeshType, TypeOfDiscretization >::assembleSecondMember().
00110 { 00111 return __problem; 00112 }
| BaseMatrix& Discretization::A | ( | ) | [inline] |
Read only access to the discretization type
__A
Definition at line 130 of file Discretization.hpp.
References __A.
Referenced by SpectralLegendreDiscretizationNonConform::assembleMatrix(), SpectralLegendreDiscretizationConform::assembleMatrix(), FEMDiscretization< Structured3DMesh, TypeOfDiscretization >::assembleMatrix(), and FEMDiscretization< GivenMeshType, TypeOfDiscretization >::assembleMatrix().
00131 { 00132 return __A; 00133 }
| BaseVector& Discretization::b | ( | ) | [inline] |
Access to the second member
Definition at line 140 of file Discretization.hpp.
References __b.
Referenced by SpectralLegendreDiscretizationNonConform::_getLocalDiscretizer(), SpectralLegendreDiscretizationNonConform::assembleSecondMember(), SpectralLegendreDiscretizationConform::assembleSecondMember(), FEMDiscretization< Structured3DMesh, TypeOfDiscretization >::assembleSecondMember(), and FEMDiscretization< GivenMeshType, TypeOfDiscretization >::assembleSecondMember().
00141 { 00142 return __b; 00143 }
const DiscretizationType Discretization::__discretizationType [protected] |
The full description of the discretization
Reimplemented in SpectralLegendreDiscretizationNonConform.
Definition at line 43 of file Discretization.hpp.
Referenced by FEMDiscretization< Structured3DMesh, TypeOfDiscretization >::FEMDiscretization(), and FEMDiscretization< GivenMeshType, TypeOfDiscretization >::FEMDiscretization().
const Problem& Discretization::__problem [protected] |
The PDEProblem to discretize.
Definition at line 46 of file Discretization.hpp.
Referenced by problem().
BaseMatrix& Discretization::__A [protected] |
The matrix which will contain the discretization.
Definition at line 49 of file Discretization.hpp.
Referenced by SpectralLegendreDiscretizationNonConform::_getLocalDiscretizer(), A(), SpectralLegendreDiscretizationNonConform::assembleMatrix(), SpectralLegendreDiscretizationConform::assembleMatrix(), FEMDiscretization< Structured3DMesh, TypeOfDiscretization >::assembleMatrix(), and FEMDiscretization< GivenMeshType, TypeOfDiscretization >::assembleMatrix().
BaseVector& Discretization::__b [protected] |
The second member.
Definition at line 52 of file Discretization.hpp.
Referenced by SpectralLegendreDiscretizationNonConform::_getLocalDiscretizer(), SpectralLegendreDiscretizationNonConform::assembleSecondMember(), SpectralLegendreDiscretizationConform::assembleSecondMember(), FEMDiscretization< Structured3DMesh, TypeOfDiscretization >::assembleSecondMember(), FEMDiscretization< GivenMeshType, TypeOfDiscretization >::assembleSecondMember(), and b().
const Vector<bool>* Discretization::__dirichletList [protected] |
elimination dirichlet informations
Definition at line 55 of file Discretization.hpp.
Referenced by setDirichletList(), FEMDiscretization< Structured3DMesh, TypeOfDiscretization >::timesX(), FEMDiscretization< GivenMeshType, TypeOfDiscretization >::timesX(), FEMDiscretization< Structured3DMesh, TypeOfDiscretization >::transposedTimesX(), and FEMDiscretization< GivenMeshType, TypeOfDiscretization >::transposedTimesX().
1.5.6