Main Page Namespace List Class Hierarchy Compound List File List Namespace Members Compound Members File Members Related Pages Examples
Sundance::WeakForm Class Reference
#include <WeakForm.h>
List of all members.
Public Methods
- WeakForm ()
- empty ctor for use in container classes
- WeakForm (EquationSet *eqnSet, int blockRow, int blockCol, const Expr &coeff, const Expr &var, const Expr &unk, const QuadratureFamily &quad, bool isBC)
- ctor for two-forms
- WeakForm (EquationSet *eqnSet, int blockRow, const Expr &coeff, const Expr &var, const QuadratureFamily &quad, bool isBC)
- ctor for one-forms
- const QuadratureFamily & quad () const
- return the quadrature family common to all terms in this WeakForm
- const Expr & coeff () const
- return the coefficient function common to all terms in this WeakForm
- const BasisFamily & test () const
- return the test function basis family common to all terms in this WeakForm
- const BasisFamily & unk () const
- return the unk function basis family common to all terms in this WeakForm
- const MultiIndex & miTest () const
- return the multi-index used for all test functions in this weak form
- const MultiIndex & miUnk () const
- return the multi-index used for all unk functions in this weak form
- bool usesBlock (int blockRow, int blockCol) const
- indicate whether this weak form has any terms in the given block
- bool usesBlock (int blockRow) const
- indicate whether this weak form has any terms in the given block
- const TSFArray< int > & testIDList (int blockRow, int blockCol) const
- get the list of testIDs for the given (blockRow, blockCol)
- const TSFArray< int > & unkIDList (int blockRow, int blockCol) const
- get the list of unkIDs for the given (blockRow, blockCol)
- const TSFArray< int > & testIDList (int blockRow) const
- get the list of testIDs for the current block row.
- const TSFArray< double > & termCoeff (int blockRow, int blockCol) const
- get the list of constant coefficients in the (blockRow, blockCol) subblock
- const TSFArray< double > & termCoeff (int blockCol) const
- get the constant coefficients in the blockRow-th subblock (one-forms only)
- const TSFArray< bool > & isTransposed (int blockRow, int blockCol) const
- get transposition flags for the (blockRow, blockCol) block
- const TSFArray< bool > & isEssentialBC (int blockRow) const
- get the BC flags for the blockRow-th subblock
- const TSFArray< bool > & isEssentialBC (int blockRow, int blockCol) const
- get the BC flags for the (blockRow, blockCol) block
- bool isOneForm () const
- indicate whether this weakform is a one-form
- bool isSymmetric () const
- indicate whether this weakform is symmetric, that is, has the same basis and multiindex for both test and unk function
- bool tryAppend (int blockRow, int blockCol, const Expr &coeff, const Expr &var, const Expr &unk, bool isBC)
- try to append a term with the given signature to the weak form.
- bool tryAppend (int blockRow, const Expr &coeff, const Expr &var, bool isBC)
- try to append a term with the given signature to the weak form.
- XMLObject toXML () const
- write to XML
Private Methods
- void init (int blockRow, int blockCol, const Expr &var, const Expr &unk, bool isBC)
- method to do common ctor operations
Private Attributes
|
|
- TSFArray< TSFArray< TSFArray<
double > > > termCoeffs_
- TSFArray< TSFArray< TSFArray<
int > > > testID_
- TSFArray< TSFArray< TSFArray<
int > > > unkID_
- TSFArray< TSFArray< TSFArray<
bool > > > isTransposed_
- TSFArray< TSFArray< TSFArray<
bool > > > isEssentialBC_
|
Related Functions
(Note that these are not member functions.)
- ostream & operator<< (ostream &os, const WeakForm &wf)
- write to a stream
Detailed Description
In a finite elements problem one must do integrals of the form
to obtain matrix entries and integrals of the form
to obtain vector entries. Here
is a basis function for the test function space,
is a basis function for the unk function space,
and
are multiindices that specify the differentiation order and direction on the test and unk basis functions, respectively, and
is a coefficient function. If the integral is to be done with quadrature, then one must also provide a quadrature rule. A WeakForm object contains a unique combination of basis families, multiindices, coefficient function, and quadrature rule; all terms using that combination are evaluated using that WeakForm.
Several terms in a problem might share a common WeakForm but have different function ID numbers or constant coefficents, and they might contribute to different blocks in a block operator. For example, in a Navier-Stokes problem the x and y components of velocity will have the same basis functions, and the diffusion operator will be applied in the same way to both. Thus, all velocity diffusion terms in a Navier-Stokes problem can be represented with a common set of WeakForms.
Definition at line 51 of file WeakForm.h.
Constructor & Destructor Documentation
Sundance::WeakForm::WeakForm |
( |
|
) |
|
|
Member Function Documentation
const Expr& Sundance::WeakForm::coeff |
( |
|
) |
const [inline] |
|
const BasisFamily& Sundance::WeakForm::test |
( |
|
) |
const [inline] |
|
const BasisFamily& Sundance::WeakForm::unk |
( |
|
) |
const [inline] |
|
const MultiIndex& Sundance::WeakForm::miTest |
( |
|
) |
const [inline] |
|
const MultiIndex& Sundance::WeakForm::miUnk |
( |
|
) |
const [inline] |
|
bool Sundance::WeakForm::usesBlock |
( |
int |
blockRow, |
|
|
int |
blockCol |
|
) |
const |
|
bool Sundance::WeakForm::usesBlock |
( |
int |
blockRow |
) |
const |
|
const TSFArray<int>& Sundance::WeakForm::testIDList |
( |
int |
blockRow, |
|
|
int |
blockCol |
|
) |
const |
|
const TSFArray<int>& Sundance::WeakForm::unkIDList |
( |
int |
blockRow, |
|
|
int |
blockCol |
|
) |
const |
|
const TSFArray<int>& Sundance::WeakForm::testIDList |
( |
int |
blockRow |
) |
const |
|
|
This should be used for one-forms only |
const TSFArray<double>& Sundance::WeakForm::termCoeff |
( |
int |
blockRow, |
|
|
int |
blockCol |
|
) |
const |
|
const TSFArray<double>& Sundance::WeakForm::termCoeff |
( |
int |
blockCol |
) |
const |
|
const TSFArray<bool>& Sundance::WeakForm::isTransposed |
( |
int |
blockRow, |
|
|
int |
blockCol |
|
) |
const |
|
const TSFArray<bool>& Sundance::WeakForm::isEssentialBC |
( |
int |
blockRow |
) |
const |
|
const TSFArray<bool>& Sundance::WeakForm::isEssentialBC |
( |
int |
blockRow, |
|
|
int |
blockCol |
|
) |
const |
|
bool Sundance::WeakForm::isOneForm |
( |
|
) |
const [inline] |
|
bool Sundance::WeakForm::isSymmetric |
( |
|
) |
const [inline] |
|
bool Sundance::WeakForm::tryAppend |
( |
int |
blockRow, |
|
|
int |
blockCol, |
|
|
const Expr & |
coeff, |
|
|
const Expr & |
var, |
|
|
const Expr & |
unk, |
|
|
bool |
isBC |
|
) |
|
|
|
If the term matches, return true, otherwise return false. |
bool Sundance::WeakForm::tryAppend |
( |
int |
blockRow, |
|
|
const Expr & |
coeff, |
|
|
const Expr & |
var, |
|
|
bool |
isBC |
|
) |
|
|
|
If the term matches, return true, otherwise return false. |
XMLObject Sundance::WeakForm::toXML |
( |
|
) |
const |
|
void Sundance::WeakForm::init |
( |
int |
blockRow, |
|
|
int |
blockCol, |
|
|
const Expr & |
var, |
|
|
const Expr & |
unk, |
|
|
bool |
isBC |
|
) |
[private] |
|
Friends And Related Function Documentation
ostream & operator<< |
( |
ostream & |
os, |
|
|
const WeakForm & |
wf |
|
) |
[related] |
|
Member Data Documentation
Expr Sundance::WeakForm::coeff_ [private]
|
|
bool Sundance::WeakForm::isOneForm_ [private]
|
|
bool Sundance::WeakForm::isSymmetric_ [private]
|
|
TSFArray<TSFArray<TSFArray<double> > > Sundance::WeakForm::termCoeffs_ [private]
|
|
TSFArray<TSFArray<TSFArray<int> > > Sundance::WeakForm::testID_ [private]
|
|
TSFArray<TSFArray<TSFArray<int> > > Sundance::WeakForm::unkID_ [private]
|
|
TSFArray<TSFArray<TSFArray<bool> > > Sundance::WeakForm::isTransposed_ [private]
|
|
TSFArray<TSFArray<TSFArray<bool> > > Sundance::WeakForm::isEssentialBC_ [private]
|
|
TSFArray<TSFArray<bool> > Sundance::WeakForm::isNonzero_ [private]
|
|
The documentation for this class was generated from the following file:
Contact: Kevin Long (krlong@ca.sandia.gov)
Documentation generated by