Gauss points

Functions

virtual bool MEDMEM::FIELD_::getGaussPresence () const throw (MEDEXCEPTION)
const GAUSS_LOCALIZATION
< INTERLACING_TAG > & 
MEDMEM::FIELD::getGaussLocalization (MED_EN::medGeometryElement geomElement) const throw (MEDEXCEPTION)
const GAUSS_LOCALIZATION
< INTERLACING_TAG > * 
MEDMEM::FIELD::getGaussLocalizationPtr (MED_EN::medGeometryElement geomElement) const throw (MEDEXCEPTION)
const GAUSS_LOCALIZATION_ * MEDMEM::FIELD::getGaussLocalizationRoot (MED_EN::medGeometryElement geomElement) const throw (MEDEXCEPTION)
void MEDMEM::FIELD::setGaussLocalization (MED_EN::medGeometryElement geomElement, GAUSS_LOCALIZATION_ *gaussloc)
void MEDMEM::FIELD::setGaussLocalization (MED_EN::medGeometryElement geomElement, const GAUSS_LOCALIZATION< INTERLACING_TAG > &gaussloc)
const int MEDMEM::FIELD::getNumberOfGaussPoints (MED_EN::medGeometryElement geomElement) const throw (MEDEXCEPTION)
const int * MEDMEM::FIELD::getNumberOfGaussPoints () const throw (MEDEXCEPTION)
const int MEDMEM::FIELD::getNbGaussI (int i) const throw (MEDEXCEPTION)

Detailed Description

In MED, it is possible to declare a Gauss model that describes the location of Gauss points in a reference cell. This Gauss model definition is contained in the GAUSS_LOCALIZATION class. A GAUSS_LOCALIZATION object is associated to a field and to a type.

It is not permitted to define a Gauss model in a polygonal or polyhedric element.

The Gauss model can be :

Constructing a Gauss Model

A Gauss model can be constructed with the following constructor :

Parameters:
locName defines a name associated with the gauss model
typeGeo names the type to which the Gauss model is assocaited
nGauss defines the number of Gauss points
cooRef defines an array giving the coordinates of the nodes of the reference element (dimension : spaceDimension * number of nodes for type typeGeo)
cooGauss defines an array giving the coordinates of the nodes of the Gauss points (dimension : spaceDimension * nGauss )
wg weights associated with each Gauss point (dimension : nGauss)

Example : in 2D, a Gauss model definition for a triangle would be written as :

string locname("gauss model");
double cooRef[6] ={0.0, 0.0, 1.0, 0.0, 0.0, 1.0};
double cooGauss[6]={0.2, 0.2, 0.8, 0.1, 0.1, 0.8};
double wg[3]={0.3334, 0.3334, 0.3334};
GAUSS_LOCALIZATION model(locname, 
                         MED_EN::MED_TRIA3,  
                         3,
                         cooRef,
                         cooGauss,
                         wg);

Function Documentation

bool MEDMEM::FIELD_::getGaussPresence (  )  const throw (MEDEXCEPTION) [virtual, inherited]

Determines whether the field stores several Gauss points per element.

Reimplemented in MEDMEM::FIELD< T, INTERLACING_TAG >.

template<class T , class INTERLACING_TAG >
const GAUSS_LOCALIZATION< INTERLACING_TAG > & MEDMEM::FIELD< T, INTERLACING_TAG >::getGaussLocalization ( MED_EN::medGeometryElement  geomElement  )  const throw (MEDEXCEPTION) [inherited]
template<class T , class INTERLACING_TAG >
const GAUSS_LOCALIZATION< INTERLACING_TAG > * MEDMEM::FIELD< T, INTERLACING_TAG >::getGaussLocalizationPtr ( MED_EN::medGeometryElement  geomElement  )  const throw (MEDEXCEPTION) [inherited]
template<class T , class INTERLACING_TAG >
const GAUSS_LOCALIZATION_ * MEDMEM::FIELD< T, INTERLACING_TAG >::getGaussLocalizationRoot ( MED_EN::medGeometryElement  geomElement  )  const throw (MEDEXCEPTION) [inherited]

Return GAUSS_LOCALIZATION_* whose interlacing type may differ from one of the field.

template<class T , class INTERLACING_TAG >
void MEDMEM::FIELD< T, INTERLACING_TAG >::setGaussLocalization ( MED_EN::medGeometryElement  geomElement,
GAUSS_LOCALIZATION_ *  gaussloc 
) [inherited]

Take onership of GAUSS_LOCALIZATION_* whose interlacing type may differ from one of the field.

References MEDMEM::FIELD< T, INTERLACING_TAG >::_gaussModel.

template<class T , class INTERLACING_TAG >
void MEDMEM::FIELD< T, INTERLACING_TAG >::setGaussLocalization ( MED_EN::medGeometryElement  geomElement,
const GAUSS_LOCALIZATION< INTERLACING_TAG > &  gaussloc 
) [inherited]
template<class T , class INTERLACING_TAG >
const int MEDMEM::FIELD< T, INTERLACING_TAG >::getNumberOfGaussPoints ( MED_EN::medGeometryElement  geomElement  )  const throw (MEDEXCEPTION) [inherited]

Returns number of Gauss points for this medGeometryElement.

Note : if there is no GAUSS_LOCALIZATION having this medGeometryElement but the medGeometryElement exist in the SUPPORT, getNumberOfGaussPoints return 1

template<class T , class INTERLACING_TAG >
const int * MEDMEM::FIELD< T, INTERLACING_TAG >::getNumberOfGaussPoints (  )  const throw (MEDEXCEPTION) [inherited]

Returns number of Gauss points for each geometric type.

Note : if there is no gauss points whatever the geometric type is it returns an exception. (renvoyer un tableau de 1 ?)

References MEDMEM::FIELD< T, INTERLACING_TAG >::_value, and MEDMEM::FIELD< T, INTERLACING_TAG >::getGaussPresence().

template<class T , class INTERLACING_TAG >
const int MEDMEM::FIELD< T, INTERLACING_TAG >::getNbGaussI ( int  i  )  const throw (MEDEXCEPTION) [inherited]

Returns number of Gauss points for element n°i. The i index is a global index (take care of previous element on different geometric type).

Generated on Sat May 1 03:22:41 2010 for Med Memory Users' Guide by  doxygen 1.6.3