C++ main module for emicrom Package
1.0
|
This class describes a grid3d mesh. More...
#include <EMM_Grid3D.h>
Public Member Functions | |
void | updateMagnetizedElementsNumber () |
compute the magnetized elements number form neighbors array the number of magnetized elements is returned by the method getMagnetizedElementsNumber() More... | |
void | setSegmentsNumber (const tUInteger &nx, const tUInteger &ny, const tUInteger &nz) |
set the segments number in all directions More... | |
void | getSegmentsNumber (tUInteger &nx, tUInteger &ny, tUInteger &nz) const |
get the segments number in all directions More... | |
const tUInteger * | getSegmentsNumber () const |
get the segments number in all directions More... | |
const tUInteger & | getSegmentsNumber (const tUSInt &d) const |
get the segments number in direction d More... | |
tUIndex | getElementIndex (const tUIndex &i, const tUIndex &j, const tUIndex &k) const |
return the element index of the element located at (i,j,k) coordinates on segments number More... | |
void | getElementSegmentIndices (const tUIndex &index, tUIndex &i, tUIndex &j, tUIndex &k) const |
return the element coordinates on segments number More... | |
tUIndex | getElementSegmentIndex (const tUIndex &index, const tUSInt &d) const |
return the element coordinates on segment number on d direction More... | |
tUIndex | getElementsNumber () const |
get the elements number of the grid More... | |
tUIndex | getVerticesNumber () const |
get the vertices number of the grid More... | |
void | setStepsSize (const tReal &lx, const tReal &ly, const tReal &lz) |
set the step size in the direction x,y,z : length of segment in each direction More... | |
void | setStepSize (const tReal &l) |
set the step size in the direction x,y,z when it's the same for the 3 directions More... | |
const tReal * | getStepsSize () const |
get the step size in all directions More... | |
const tReal & | getStepSize (const tUSInt &d) const |
get the step size in the direction d More... | |
tReal | getMinStepSize () const |
get the min step size More... | |
tReal | getMaxStepSize () const |
get the max step size More... | |
const tReal * | getAdimensionizedSegmentsSize () const |
return the adimensionized segments size More... | |
const tReal & | getReferenceLength () const |
get the reference length More... | |
const tReal & | getMaxElementSize () const |
get the max length of the cell More... | |
const tReal & | getMinElementSize () const |
get the min length of the cell More... | |
const tReal * | getSegmentsSize () const |
return the segments size More... | |
tBoolean | isCubicVolume () const |
return true if the element is cubic More... | |
tReal | adimensionize () |
compute the adimensionized constants More... | |
const tReal & | getAdimensionizedVolume () const |
get the adimensionized element volume <=1 More... | |
void | computeNormalFaceAdimensionizedLength (tReal *L2) const |
build the adimensionized length for each face in its normal direction More... | |
void | setIsPeriodic (const tBoolean v[3]) |
set if the mesh is periodic on all directions More... | |
void | setIsDirectionPeriodic (const tUSInt &k, const tBoolean &v) |
set if the mesh is periodic on all directions More... | |
const tBoolean * | isDirectionPeriodic () const |
get if the mesh is periodic More... | |
const tBoolean & | isDirectionPeriodic (const tFlag &d) const |
get if the mesh is periodic on direction d More... | |
const tBoolean & | isPeriodic () const |
get if the mesh is periodic in one direction More... | |
tCellFlag | getPeriodicIndicator () const |
get the periodic indicator by face with if face f is periodic More... | |
const tUIndex & | getMagnetizedElementsNumber () const |
get the number of magnetized elements More... | |
tBoolean | isElementMagnetized (const tUIndex &index) const |
tBoolean | isInMagnetizedDomainInterior (const tUIndex &index) const |
void | buildMagnetizedElements (const EMM_MatterField &matters, CORE_BooleanMorseArray &magnetizedElements) const |
build the magnetized element morse array More... | |
tBoolean | hasNeighborToFace (const tUIndex &iElement, const tUSInt &iFace) const |
return true if the element at index iElement have a magnetized neighbor with common face iFace in [0,FACES_NUMBEr_PER_ELEMENT[ false otherwise More... | |
tUIndex | getNeighborElement (const tUIndex &index, const tUCInt &iFace) const |
return the index of the element which is next to the element iElement with iFace in common More... | |
tUIndex | getNeighborElement (const tUIndex &iCell, const tCellFlag &N, const tBoolean isPeriodic[3], const tUCInt &f) const |
return the index of the element which is next to the element iElement with iFace in common More... | |
SPC::EMM_CellFlagArray | getNeighborsIndicatorsByReference () const |
get the neighbor elements for reading More... | |
const EMM_CellFlagArray & | getNeighborsIndicators () const |
get the neighbors indicator for each element for reading More... | |
EMM_CellFlagArray & | getNeighborsIndicators () |
get the neighbor elements for writing More... | |
const tCellFlag & | getNeighborIndicator (const tUIndex &index) const |
get the neighbor indicator of the element at index More... | |
void | buildNeighborsIndices (const EMM_MatterField &matters, CORE_UIndexMorseArray &neighbors) const |
build the neighbors index: for each element i build all the (magnetized or not) neighbors of element i More... | |
void | buildMagnetizedNeighborsIndices (const EMM_MatterField &matters, CORE_UIndexMorseArray &neighbors) const |
build the neighbors : for each element i build all the magnetized neighbors of element i More... | |
void | updateLimitConditionOnPoints (EMM_LimitConditionArray &lc) const |
update the limit condition of each point. More... | |
tBoolean | loadFromFile (const tString &fileName) |
load from a file More... | |
tBoolean | saveToFile (const tString &fileName) const |
save to a file More... | |
virtual tString | toString () const |
turn the mesh into string More... | |
void | getSharedPointer (SP::CORE_Object &p) |
get the shared pointer of this class into p More... | |
void | getSharedPointer (SPC::CORE_Object &p) const |
get the shared pointer of this class into p More... | |
tString | getClassName () const |
return the class name of the object More... | |
tString | getIdentityString () const |
return the identity string of the object of the form className_at_address More... | |
tString | getPointerAddress () const |
return the identity string of the object More... | |
template<class T > | |
tBoolean | isInstanceOf () const |
test if the clas T is an instance of this class More... | |
tBoolean | isInstanceOf (const tString &name) const |
test if the object is an instance of className More... | |
Static Public Member Functions | |
static SP::EMM_Grid3D | New () |
create a Grid3D object More... | |
static tCellFlag | getPeriodicIndicator (const tBoolean periodicity[]) |
get the periodic indicator by face with if face f is periodic More... | |
static tBoolean | IS_ELEMENT_MAGNETIZED (const tCellFlag &v) |
test if the element woth neighbor indicator v is magnetized More... | |
static tBoolean | isFaceOnDirichletBoundary (const tCellFlag &periodicity, const tUInteger &xCell, const tUInteger &yCell, const tUInteger &zCell, const tUCInt &f, const tUInteger &nPx, const tUInteger &nPy, const tUInteger &nPz, const tLimitCondition *dirichletPoints) |
return tue if the face f of the magnetized cell (xCell,yCell,zCell) is on Dirichlet boundary More... | |
static tBoolean | isFaceOnNeumannBoundary (const tCellFlag &periodicity, const tUInteger &xCell, const tUInteger &yCell, const tUInteger &zCell, const tUCInt &f, const tUInteger &nPx, const tUInteger &nPy, const tUInteger &nPz, const tLimitCondition *dirichletPoints) |
return tue if the face f of the magnetized cell (xCell,yCell,zCell) is on Neumann boundary More... | |
static tBoolean | GET_MASTER_PERIODIC_POINT (const tCellFlag &periodicity, const tUIndex &Nx, const tUIndex &Ny, const tUIndex &Nz, tUIndex &iQ, tUIndex &jQ, tUIndex &kQ) |
get the index of master point in [0,pointsNumber[. The master point is the point in pair face in the periodical direction k corresponding to the point in face unpair in the periodical direction k. More... | |
static tBoolean | IS_POINT_IN_BOUNDARY (const tBoolean x[], const tCellFlag &N, const tBoolean periodicity[]) |
test if the local point is in magnetized boundary. More... | |
static tBoolean | IS_POINT_IN_BOUNDARY (const tCellFlag &X, const tCellFlag &N, const tCellFlag &P) |
test if the local point is in magnetized boundary More... | |
static tBoolean | IS_POINT_IN_PERIODIC_BOUNDARY (const tBoolean x[], const tCellFlag &N, const tBoolean periodicity[]) |
test if the local point is in a periodical boundary More... | |
static tBoolean | IS_POINT_IN_PERIODIC_BOUNDARY (const tCellFlag &X, const tCellFlag &N, const tCellFlag &P) |
test if the local point is in periodical boundary More... | |
static tBoolean | IS_POINT_IN_SLAVE_PERIODIC_BOUNDARY (const tBoolean x[], const tCellFlag &N, const tBoolean periodicity[]) |
test if the local point is in slave periodical boundary More... | |
static tBoolean | IS_POINT_IN_SLAVE_PERIODIC_BOUNDARY (const tCellFlag &X, const tCellFlag &N, const tCellFlag &P) |
test if the local point is in slave periodical boundary More... | |
static void | setIsMemoryChecked (const tBoolean &v) |
set if the memory checking is used More... | |
static void | setOut (SP::CORE_Out out) |
set the output stream More... | |
static void | resetOut () |
reset the output stream More... | |
static void | setThread (SP::CORE_Thread thread) |
set the thread More... | |
static void | resetThread () |
reset the output stream More... | |
static CORE_Out & | out () |
get the output More... | |
static SP::CORE_Out | getOut () |
get the output More... | |
static CORE_Thread & | getThread () |
get the profilier More... | |
static const tBoolean & | isMemoryChecked () |
get if the memory checking is used More... | |
static tString | getClassName (const tString &identityString) |
return the class name of the object More... | |
template<class T > | |
static tString | getTypeName () |
get type name More... | |
static tBoolean | is64Architecture () |
return true if the machine is a 64 bits machine More... | |
static tBoolean | is32Architecture () |
return true if the machine is a 32 bits machine More... | |
static tString | pointer2String (const void *obj) |
return the string representation of a pointer More... | |
static void | printObjectsInMemory (ostream &f) |
print object in memory More... | |
static void | printObjectsInMemory () |
print object in memory in the standart output More... | |
static tChar | getMaxChar () |
get the max value for tChar type More... | |
static tChar | getMinChar () |
get the min value for tChar type More... | |
static tUChar | getMaxUChar () |
get the max value for tUChar type More... | |
static tUChar | getMinUChar () |
get the min value for tUChar type More... | |
static tSInt | getMaxSInt () |
get the max value for tSInt type More... | |
static tSInt | getMinSInt () |
get the min value for tSInt type More... | |
static tUSInt | getMaxUSInt () |
get the max value for tUSInt type More... | |
static tUSInt | getMinUSInt () |
get the min value for tUSInt type More... | |
static tInt | getMaxInt () |
get the max value for tInt type More... | |
static tInt | getMinInt () |
get the min value for tInt type More... | |
static tUInt | getMaxUInt () |
get the max value for tUInt type More... | |
static tUInt | getMinUInt () |
get the min value for tUInt type More... | |
static tLInt | getMaxLInt () |
get the max value for tLInt type More... | |
static tLInt | getMinLInt () |
get the min value for tLInt type More... | |
static tULInt | getMaxULInt () |
get the max value for tULInt type More... | |
static tULInt | getMinULInt () |
get the min value for tULInt type More... | |
static tLLInt | getMaxLLInt () |
get the max value for tULInt type More... | |
static tLLInt | getMinLLInt () |
get the min value for tLLInt type More... | |
static tULLInt | getMaxULLInt () |
get the max value for tULLInt type More... | |
static tULLInt | getMinULLInt () |
get the min value for tULLInt type More... | |
static tFloat | getMaxFloat () |
get the max value for tFloat type More... | |
static tFloat | getMinFloat () |
get the min value for tFloat type More... | |
template<class T > | |
static T | getEpsilon () |
get the epsilon value for T type More... | |
template<class T > | |
static T | getInfinity () |
get the infinity for T type More... | |
static tFloat | getFloatEpsilon () |
get the epsilon value for tFloat type More... | |
static tFloat | getFloatInfinity () |
get the infinity value for tFloat type More... | |
static tDouble | getMaxDouble () |
get the max value for tDouble type More... | |
static tDouble | getMinDouble () |
get the min value for tDouble type More... | |
static tDouble | getDoubleInfinity () |
get the infinity value for tFloat type More... | |
static tDouble | getDoubleEpsilon () |
get the epsilon value for tDouble type More... | |
static tLDouble | getMinLDouble () |
get the min value for tLDouble type More... | |
static tLDouble | getMaxLDouble () |
get the max value for tLDouble type More... | |
static tLDouble | getLDoubleEpsilon () |
get the epsilon value for tLDouble type More... | |
static tDouble | getLDoubleInfinity () |
get the infinity value for tDouble type More... | |
static tIndex | getMaxIndex () |
get the max value for the array/vector indexing type More... | |
static tIndex | getMinIndex () |
get the min value for the array/vector indexing type More... | |
static tUIndex | getMaxUIndex () |
get the max value for difference the array/vector indexing type More... | |
static tUIndex | getMinUIndex () |
get the min value for difference the array/vector indexing type More... | |
static tFlag | getMaxFlag () |
get the max value for the tFlag type More... | |
static tFlag | getMinFlag () |
get the min value for the tFlag type More... | |
static tUInteger | getMaxUInteger () |
get the max value for the unsigned integer type More... | |
static tUInteger | getMinUInteger () |
get the min value for the unsigned integer type More... | |
static tInteger | getMaxInteger () |
get the max value for the integer type More... | |
static tInteger | getMinInteger () |
get the min value for the integer type More... | |
static tReal | getMaxReal () |
get the max value for the real type More... | |
static tReal | getMinReal () |
get the min value for the real type More... | |
static tReal | getRealEpsilon () |
get the eps which is the difference between 1 and the least value greater than 1 that is representable. More... | |
static tReal | getRealInfinity () |
get the infinity value More... | |
template<class T > | |
static T | computeEpsilon () |
compute epsilon More... | |
Static Public Attributes | |
static const tUIndex | UNMAGNETIZED_ELEMENT =CORE_Object::getMaxIndex() |
return the index of the unmagnetized element More... | |
static const tLimitCondition | DIRICHLET_LIMIT_CONDITION =1 |
static const tLimitCondition | NEUMANN_LIMIT_CONDITION =0 |
static const tLimitCondition | NO_LIMIT_CONDITION =2 |
static const tLimitCondition | SLAVE_LIMIT_CONDITION =3 |
static const tFlag | POINT =0 |
static const tFlag | ELEMENT =1 |
static const tCellFlag | MAGNETIZED_DOMAIN_INTERIOR_INDICATOR =127 |
static const tCellFlag | MAGNETIZED_ELEMENT_MIN_INDICATOR =64 |
static const tUCInt | FACES_NUMBER_PER_ELEMENT =6 |
static const tUCInt | POINTS_NUMBER_PER_ELEMENT =8 |
static const tUCInt | POINTS_NUMBER_PER_FACE =4 |
static const tBoolean | ELEMENT_POINTS [] |
points coordinate of elements get the local coodinates of the points in {0,1} : ELEMENT_POINTS[i*3] is the 3D coordinates of the locat point at index i More... | |
static const tUCInt | FACE_POINTS [] |
points index of elements get the local index of the points in face : FACE_POINTS[f*POINTS_NUMBER_PER_FACE+p] is the index of the p-th point in the face f in [0,POINTS_NUMBER_PER_ELEMENT[ f in [0,FACES_NUMBER_PER_ELEMENT More... | |
static const tCInt | EDGE_POINTS [] |
points index of edge get the local index of the points in edge between face l & r (r>l, r,l in [0,6[ is EDGE_POINTS[2*(r+l*(l+1)/2)] and EDGE_POINTS[2*(r+l*(l+1)/2)+1] More... | |
static const tReal | Mu0 =4*M_PI*1e-07 |
static const tReal | Gamma =-1.7e11 |
static const tDimension | X =0 |
static const tDimension | Y =1 |
static const tDimension | Z =2 |
static const tReal | NULL_VALUE [] ={0,0,0} |
Protected Member Functions | |
EMM_Grid3D (void) | |
create a grid 3D More... | |
virtual | ~EMM_Grid3D (void) |
destroy a Grid3D More... | |
virtual void | toDoAfterThisSetting () |
method called after the setting of the shared pointer this method can only be called once. More... | |
void | setThis (SP::CORE_Object p) |
set this weak shared pointer called toDoAfterThis setting method More... | |
Private Member Functions | |
SP_OBJECT (EMM_Grid3D) | |
void | updateElementTranslations () |
update the values of private arrays depending on the discretization of the domain : More... | |
tBoolean | loadFromGEOFile (const tString &fileName) |
load from a geo file More... | |
tBoolean | saveToGEOFile (const tString &fileName) const |
save to a geo file More... | |
tBoolean | loadHeaderFromGEOStream (ifstream &f, tUInteger &nReadLines, tUInteger &nReadProperties) |
load header from geo stream More... | |
tBoolean | loadFromGEOStream (ifstream &f, tUInteger &nReadLines) |
load the neighbors from geo stream More... | |
tBoolean | loadFooterFromGEOStream (ifstream &f, tUInteger &nReadLines, tUInteger &nReadProperties) |
load header from geo stream More... | |
Private Attributes | |
tBoolean | mIsDirectionPeriodic [3] |
priodicity of direction the mesh More... | |
tBoolean | mIsPeriodic |
true if the mesh is periodic in one direction More... | |
tUInteger | mSegmentsNumber [3] |
segments number More... | |
tReal | mSegmentsSize [3] |
segments size More... | |
tReal | mAdimensionizedSegmentsSize [3] |
adimensionized segments size More... | |
tReal | mAdimensionizedVolume |
the adimensionized volume More... | |
tReal | mLmin |
min size of the cell More... | |
tReal | mLmax |
max size of the cell More... | |
tReal | mL |
reference length More... | |
tUIndex | mBoundElement [FACES_NUMBER_PER_ELEMENT] |
get the index in [0,mSegmentsNumber[k][ of the 2 bound elements at each direction More... | |
tIndex | mNextElementTranslation [FACES_NUMBER_PER_ELEMENT] |
get the index translation in each direction to have the previous or next element More... | |
tIndex | mPeriodicElementTranslation [FACES_NUMBER_PER_ELEMENT] |
get the index translation in each direction to have the periodic element More... | |
SP::EMM_CellFlagArray | mNeighborsIndicators |
mNeigbor indicator for each element More... | |
tUIndex | mMagnetizedElementsNumber |
number of magnetized element More... | |
tUIndex | mElementsNumber |
number of elements More... | |
tUIndex | mWorkIndex |
Static Private Attributes | |
static const tCellFlag | TWO_POWER_FACES [] ={1,2,4,8,16,32,64,128} |
This class describes a grid3d mesh.
A grid3d mesh is a grid bounding box meshed by parallelepiped elements.
A grid is defined by number of segments in each direction: , , ,. The number of elements is . The element at index is located at the segment index on x-direction, on y-direction, on z-direction with the relation .
A grid is defined by a vector of size N whose integer value at index l gives if there is a neighbor of the element next to its face f. This arrau can be gotten by the method EMM_Grid3D::getNeighbors()
where in a parallepiped mesh
The method EMM_Grid3D::hasNeighbor(l,f) get if there is a magnetized element next to element at index l with face f in common.
The method EMM_Grid3D::isMagnetized(l) return true if the element at index l is magnetized
The number of magnetized element is given by the method EMM_Grid3D::getMagnetizedElements();
A Grid 3D mesh may also be considered to be periodic in each direction given by the method EMM_Grid3D::isPeriodic()
To have the index of the element next to the element l with the face f in common , call the method EMM_Grid3D::getNeighborElement()
|
protected |
create a grid 3D
References mAdimensionizedSegmentsSize, mAdimensionizedVolume, mElementsNumber, mIsDirectionPeriodic, mIsPeriodic, mL, mLmax, mLmin, mMagnetizedElementsNumber, mNeighborsIndicators, mSegmentsNumber, mSegmentsSize, EMM_Array< tCellFlag >::New(), tDimension, and updateElementTranslations().
Referenced by New().
|
protectedvirtual |
destroy a Grid3D
|
inline |
void EMM_Grid3D::buildMagnetizedElements | ( | const EMM_MatterField & | matters, |
CORE_BooleanMorseArray & | magnetizedElements | ||
) | const |
build the magnetized element morse array
matters | : matters distribution of the grid |
magnetizedElements | : built magnetized elements morse array of size <=1 for each element |
References CORE_MorseArray< T >::begin(), getElementsNumber(), EMM_MatterField::getMatterIndices(), getNeighborsIndicators(), CORE_Array< T >::getSize(), MAGNETIZED_ELEMENT_MIN_INDICATOR, CORE_MorseArray< T >::merge(), mNeighborsIndicators, EMM_MatterField::NO_MATTER, OMP_GET_THREAD_ID, OMP_GET_THREADS_NUMBER, OMP_PARALLEL_PRIVATE_SHARED, OMP_PARALLEL_SHARED, CORE_MorseArray< T >::reset(), CORE_MorseArrayIterator< T >::setSize(), CORE_MorseArray< T >::setSize(), tBoolean, tCellFlag, tUIndex, tUInteger, tUSInt, and CORE_MorseArrayIterator< T >::values().
Referenced by isInMagnetizedDomainInterior().
void EMM_Grid3D::buildMagnetizedNeighborsIndices | ( | const EMM_MatterField & | matters, |
CORE_UIndexMorseArray & | neighbors | ||
) | const |
build the neighbors : for each element i build all the magnetized neighbors of element i
matters | : matters distribution of the grid |
neighbors | : built magnetized neighbors morse array of size <=FACES_NUMBER_PER_ELEMENT for each magnetized element |
References CORE_MorseArray< T >::begin(), FACES_NUMBER_PER_ELEMENT, getElementsNumber(), EMM_MatterField::getMatterIndices(), getNeighborElement(), CORE_Array< T >::getSize(), CORE_MorseArray< T >::merge(), EMM_MatterField::NO_MATTER, OMP_GET_THREAD_ID, OMP_GET_THREADS_NUMBER, OMP_PARALLEL_PRIVATE_SHARED, OMP_PARALLEL_SHARED, CORE_MorseArray< T >::reset(), CORE_MorseArrayIterator< T >::setSize(), CORE_MorseArray< T >::setSize(), tBoolean, tUCInt, tUIndex, tUInteger, UNMAGNETIZED_ELEMENT, and CORE_MorseArrayIterator< T >::values().
Referenced by EMM_MinimalExchangeOperator::discretize(), and getNeighborIndicator().
void EMM_Grid3D::buildNeighborsIndices | ( | const EMM_MatterField & | matters, |
CORE_UIndexMorseArray & | neighbors | ||
) | const |
build the neighbors index: for each element i build all the (magnetized or not) neighbors of element i
matters | : matters distribution of the grid |
neighbors | : built neighbors morse array of size FACES_NUMBER_PER_ELEMENT for each magnetized element. neighbors[i][f] gives the index of the element which is next to the element i with face f |
Note that the values at index i of the morse array is null if and only if the element at index i is not magnetized.
References CORE_MorseArray< T >::begin(), FACES_NUMBER_PER_ELEMENT, getElementsNumber(), EMM_MatterField::getMatterIndices(), getNeighborElement(), CORE_Array< T >::getSize(), CORE_MorseArray< T >::merge(), EMM_MatterField::NO_MATTER, OMP_GET_THREAD_ID, OMP_GET_THREADS_NUMBER, OMP_PARALLEL_PRIVATE_SHARED, OMP_PARALLEL_SHARED, CORE_MorseArray< T >::reset(), CORE_MorseArrayIterator< T >::setSize(), CORE_MorseArray< T >::setSize(), tBoolean, tUCInt, tUIndex, tUInteger, and CORE_MorseArrayIterator< T >::values().
Referenced by EMM_MinimalExchangeOperator::discretize(), EMM_DisplacementFVMOperator::discretize(), and getNeighborIndicator().
|
inlinestaticinherited |
compute epsilon
void EMM_Grid3D::computeNormalFaceAdimensionizedLength | ( | tReal * | L2 | ) | const |
build the adimensionized length for each face in its normal direction
[out] | L2 | : is the squared adimensionized dimension in each direction of the element of size 6 |
It commputes L2[2k+d]=L[k].L[k] for all k in [0,3[ and d in [0,2[
References getAdimensionizedSegmentsSize(), tDimension, and tReal.
Referenced by EMM_MinimalExchangeOperator::discretize(), and getAdimensionizedVolume().
|
inlinestatic |
get the index of master point in [0,pointsNumber[. The master point is the point in pair face in the periodical direction k corresponding to the point in face unpair in the periodical direction k.
[in] | periodicity | periodical indicator of the directions |
[in] | Nx | number of segments in the direction x |
[in] | Ny | number of segments in the direction y |
[in] | Nz | number of segments in the direction z |
[in,out] | iQ | input : index of the point in the x-direction, return the index of the periodcial point in the x-direction |
[in,out] | jQ | input : index of the point in the y-direction, return the index of the periodcial point in the y-direction |
[in,out] | kQ | input : index of the point in the z-direction, return the index of the periodcial point in the z-direction |
References tBoolean.
Referenced by EMM_DisplacementFEMOperator::buildDataOnNeumannBoundaryFaces(), EMM_DisplacementFVM_Interpolator::cellMean(), EMM_DisplacementFEMOperator::computeElasticStress(), EMM_DisplacementFVM_VOGGROperator::computeGradUAtCellByOstrogradskiGreenIntegration(), EMM_DisplacementFVM_SSGROperator::computeGradUAtFaceByStokesIntegration(), EMM_DisplacementFVM_Interpolator::edgeMean(), EMM_DisplacementFVM_Interpolator::faceMean(), EMM_DisplacementFVM_Interpolator::interpolateUAtFace(), EMM_DisplacementFVM_Interpolator::interpolateUAtVertex(), isFaceOnDirichletBoundary(), isFaceOnNeumannBoundary(), EMM_DisplacementOperator::periodicProjection(), EMM_CanonicalMassMatrix::product(), and EMM_BlockMassMatrix::product().
|
inline |
return the adimensionized segments size
References mAdimensionizedSegmentsSize.
Referenced by computeNormalFaceAdimensionizedLength(), EMM_DisplacementOperator::discretize(), and EMM_Output::saveVTI().
|
inline |
get the adimensionized element volume <=1
References computeNormalFaceAdimensionizedLength(), mAdimensionizedVolume, and tReal.
Referenced by EMM_GradGaussLegendreRelaxation::computeEnergyTimeDerivatives(), EMM_GradGaussLegendreRelaxation::computeEnergyTimeDerivativesAtTime(), EMM_Operator::discretize(), EMM_MassMatrix::discretize(), EMM_LandauLifschitzODE_RKd::integrateMagnetizationFieldAtTime(), and EMM_LandauLifschitzODE_RK::integrateMagnetizationFieldAtTime().
|
inherited |
return the class name of the object
References tString.
Referenced by CORE_Object::getIdentityString(), EMM_Operator::getName(), and CORE_Object::isMemoryChecked().
return the class name of the object
identityString | the identity string of the object |
|
inlinestaticinherited |
get the epsilon value for tDouble type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the infinity value for tFloat type
|
inline |
return the element index of the element located at (i,j,k) coordinates on segments number
[in] | i | index of the segment in x-direction in [0,getSegementsNumber[0][ |
[in] | j | index of the segment in y-direction in [0,getSegementsNumber[1][ |
[in] | k | index of the segment in z-direction in [0,getSegementsNumber[2][ |
return the element coordinates on segment number on d direction
index | index of the element in [0,getElementsNumber()[ |
d | direction in [0,3[ |
|
inline |
return the element coordinates on segments number
[in] | index | index of the element |
[out] | i | output index of the segment in x-direction in [0,getSegementsNumber[0][ |
[out] | j | output index of the segment in y-direction in [0,getSegementsNumber[1][ |
[out] | k | output index of the segment in z-direction in [0,getSegementsNumber[2][ |
|
inline |
get the elements number of the grid
Referenced by buildMagnetizedElements(), buildMagnetizedNeighborsIndices(), buildNeighborsIndices(), EMMG_RealField::cellDataToPointData(), EMM_StaticMagneticTensorOperator::discretize(), EMM_LinearAnisotropyOperator::discretize(), EMM_StaticMagnetostrictionOperator::discretize(), EMM_AnisotropyOperator::discretize(), EMM_DisplacementFVMOperator::discretize(), EMMG_SLDemagnetizedOperator::discretize(), EMM_ZeemanOperator::discretize(), EMM_LandauLifschitzSystem::discretize(), EMM_DisplacementOperator::discretize(), EMMG_RealField::pointDataToCellData(), EMM_ZeemanOperator::resetToInitialState(), EMM_LandauLifschitzSystem::resetToInitialState(), EMM_DisplacementOperator::resetToInitialState(), EMM_DisplacementFVMOperator::setBoundaryFaceTypes(), EMMG_RealField::unmagnetized(), and updateMagnetizedElementsNumber().
|
inlinestaticinherited |
get the epsilon value for T type
|
inlinestaticinherited |
get the epsilon value for tFloat type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the infinity value for tFloat type
|
inlineinherited |
return the identity string of the object of the form className_at_address
References CORE_Object::getClassName(), CORE_Object::pointer2String(), and tString.
Referenced by MATH_GaussLegendreIntegration::copy(), EMM_MultiScaleGrid::initialize(), CORE_Object::isInstanceOf(), CORE_Object::printObjectsInMemory(), MATH_Matrix::toString(), EMMG_SLPeriodicMultiScale::toString(), EMM_Stepper::toString(), EMM_AnisotropyDirectionsField::toString(), EMM_BlockMassMatrix::toString(), CORE_Object::toString(), EMM_Tensors::toString(), EMM_MultiScaleGrid::toString(), EMM_MatterField::toString(), toString(), and EMM_LandauLifschitzSystem::toString().
|
inlinestaticinherited |
get the infinity for T type
|
inlinestaticinherited |
get the epsilon value for tLDouble type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the infinity value for tDouble type
|
inline |
get the number of magnetized elements
References mMagnetizedElementsNumber.
Referenced by EMM_LandauLifschitzSystem::computeMeanField(), and EMM_LandauLifschitzSystem::computeMeanMagnetizationField().
|
inlinestaticinherited |
get the max value for tChar type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the max value for tDouble type
Referenced by CORE_Test::testType().
|
inline |
get the max length of the cell
References mLmax.
|
inlinestaticinherited |
get the max value for the tFlag type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the max value for tFloat type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the max value for the array/vector indexing type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the max value for tInt type
Referenced by MATSGN_FFT::fastFourierTransform3D_FFTW(), and CORE_Test::testType().
|
inlinestaticinherited |
get the max value for the integer type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the max value for tLDouble type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the max value for tLInt type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the max value for tULInt type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the max value for the real type
Referenced by EMM_MatterField::adimensionize(), and CORE_Test::testType().
|
inlinestaticinherited |
get the max value for tSInt type
Referenced by CORE_Test::testType().
|
inline |
|
inlinestaticinherited |
get the max value for tUChar type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the max value for difference the array/vector indexing type
Referenced by CORE_Vector< T >::addAfterIndices(), CORE_Vector< T >::search(), CORE_Test::testType(), CORE_Integer::toHexString(), and CORE_Integer::toString().
|
inlinestaticinherited |
get the max value for tUInt type
Referenced by EMM_Array< tCellFlag >::loadFromFile(), EMM_RealField::loadFromFile(), and CORE_Test::testType().
|
inlinestaticinherited |
get the max value for the unsigned integer type
Referenced by MATH_Pn::computeExtrenums(), EMM_MultiScaleGrid::computeLevelsNumber(), EMM_Input::restoreBackup(), MATH_P0::solve(), and CORE_Test::testType().
|
inlinestaticinherited |
get the max value for tULInt type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the max value for tULLInt type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the max value for tUSInt type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the min value for tChar type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the min value for tDouble type
Referenced by CORE_Test::testType().
|
inline |
get the min length of the cell
References mLmin.
|
inlinestaticinherited |
get the min value for the tFlag type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the min value for tFloat type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the min value for the array/vector indexing type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the min value for tInt type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the min value for the integer type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the min value for tLDouble type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the min value for tLInt type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the min value for tLLInt type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the min value for the real type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the min value for tSInt type
Referenced by CORE_Test::testType().
|
inline |
|
inlinestaticinherited |
get the min value for tUChar type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the min value for difference the array/vector indexing type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the min value for tUInt type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the min value for the unsigned integer type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the min value for tULInt type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the min value for tULLInt type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the min value for tUSInt type
Referenced by CORE_Test::testType().
return the index of the element which is next to the element iElement with iFace in common
index | : index of the element in [0,getElementsNumber()[ |
iFace | : index of the face into iElement element in [0,FACES_NUMBER_PER_ELEMENT[ |
Note that the periodicity of the domain is taken into account
References mIsDirectionPeriodic, and mNeighborsIndicators.
Referenced by buildMagnetizedNeighborsIndices(), buildNeighborsIndices(), and hasNeighborToFace().
tUIndex EMM_Grid3D::getNeighborElement | ( | const tUIndex & | iCell, |
const tCellFlag & | N, | ||
const tBoolean | isPeriodic[3], | ||
const tUCInt & | f | ||
) | const |
return the index of the element which is next to the element iElement with iFace in common
iCell | index of the element in [0,getElementsNumber()[ |
N | faces indicator of the cell |
isPeriodic | periodicity of the mesh |
f | index of the face in [0,6[ |
References iand, mBoundElement, mNextElementTranslation, mPeriodicElementTranslation, mSegmentsNumber, tCellFlag, tUCInt, tUIndex, TWO_POWER_FACES, and UNMAGNETIZED_ELEMENT.
get the neighbor indicator of the element at index
index | index of the element |
References buildMagnetizedNeighborsIndices(), buildNeighborsIndices(), isFaceOnDirichletBoundary(), isFaceOnNeumannBoundary(), tBoolean, tCellFlag, tLimitCondition, tUCInt, and tUInteger.
|
inline |
get the neighbors indicator for each element for reading
References CORE_Array< T >::get().
Referenced by EMM_LinearAnisotropyOperator::buildAnisotropyMatrix(), EMM_AnisotropyOperator::buildAnisotropyMatrix(), EMM_DisplacementFEMOperator::buildDataOnNeumannBoundaryFaces(), buildMagnetizedElements(), EMM_Test::createBox(), EMM_Test::createCube(), loadFromGEOStream(), EMM_Output::saveVTI(), toString(), EMMG_RealField::unmagnetized(), updateLimitConditionOnPoints(), and updateMagnetizedElementsNumber().
|
inline |
get the neighbor elements for writing
References CORE_Array< T >::get().
|
inline |
get the neighbor elements for reading
References mNeighborsIndicators.
Referenced by EMM_MassMatrix::discretize().
|
inlinestaticinherited |
|
inline |
get the periodic indicator by face with if face f is periodic
Referenced by EMM_DisplacementFEMOperator::buildDataOnNeumannBoundaryFaces(), EMM_DisplacementFVM_Interpolator::cellMean(), EMM_DisplacementFVM_VOGGROperator::computeGradUAtCellByOstrogradskiGreenIntegration(), EMM_DisplacementFVM_SSGROperator::computeGradUAtFaceByStokesIntegration(), EMM_DisplacementFVM_Interpolator::edgeMean(), EMM_DisplacementFVM_Interpolator::faceMean(), EMM_DisplacementFVM_Interpolator::interpolateUAtFace(), EMM_DisplacementFVM_Interpolator::interpolateUAtVertex(), EMM_DisplacementOperator::resetToInitialState(), EMM_DisplacementFVMOperator::setBoundaryFaceTypes(), and updateLimitConditionOnPoints().
get the periodic indicator by face with if face f is periodic
|
inlineinherited |
return the identity string of the object
References CORE_Object::pointer2String().
|
inlinestaticinherited |
get the eps which is the difference between 1 and the least value greater than 1 that is representable.
Referenced by MATH_P4::solveP4De(), and CORE_Test::testType().
|
inlinestaticinherited |
get the infinity value
Referenced by BrentFunction::BrentFunction(), EMM_OperatorsTest::compareDiscretizedData(), EMM_IterativeTimeStep::EMM_IterativeTimeStep(), EMM_SLElementaryDemagnetizedMatrix::Kxy(), NRFunction::NRFunction(), EMM_PolynomialInterpolationTimeStep::optimizeTimeFunction(), and CORE_Test::testType().
|
inline |
get the reference length
References mL.
Referenced by toString().
get the segments number in all directions
nx | : the number of segment in the x direction |
ny | : the number of segment in the y direction |
nz | : the number of segment in the z direction |
Referenced by EMM_DisplacementFEMOperator::buildDataOnNeumannBoundaryFaces(), EMMG_RealField::cellDataToPointData(), EMMG_SLPeriodicMultiScale::coarseMinusFine(), EMM_DemagnetizedOperator::discretize(), EMM_MassMatrix::discretize(), EMM_DisplacementFVMOperator::discretize(), EMMG_SLDemagnetizedOperator::discretize(), EMMG_RealField::pointDataToCellData(), EMM_DisplacementOperator::resetToInitialState(), EMM_Output::saveVTI(), and EMM_DisplacementFVMOperator::setBoundaryFaceTypes().
|
inline |
get the segments number in all directions
References mSegmentsNumber.
Referenced by updateLimitConditionOnPoints().
get the segments number in direction d
d | the direction in [0,3[ |
|
inline |
|
inlineinherited |
get the shared pointer of this class into p
p | : shared pointer of the class This |
Referenced by CORE_Map< Key, Value >::getSharedPointer(), CORE_ArrayList< tString >::getSharedPointer(), EMM_Array< tCellFlag >::getSharedPointer(), CORE_Array< tCellFlag >::getSharedPointer(), CORE_MorseArray< tUChar >::getSharedPointer(), CORE_Vector< T >::getSharedPointer(), and CORE_Object::printObjectsInMemory().
|
inlineinherited |
get the shared pointer of this class into p
p | : shared pointer of the class This |
get the step size in the direction d
|
inline |
|
inlinestaticinherited |
get the profilier
Referenced by MATH_MaskVector::add(), MATH_Vector::add(), EMM_DisplacementFEMOperator::addBoundaryElasticStress(), EMM_DisplacementFEMOperator::buildDataOnNeumannBoundaryFaces(), EMM_DisplacementFVMOperator::computeCineticEnergy(), EMM_DisplacementFVMOperator::computeElasticStress(), EMM_DisplacementFEMOperator::computeElasticStress(), EMM_DisplacementFVMOperator::computeElasticTensor(), EMM_DisplacementFEMOperator::computeElasticTensor(), EMM_StaticMagneticTensorOperator::computeEnergy(), EMM_CubicAnisotropyOperator::computeEnergy(), EMM_MagnetostrictionOperator::computeEnergy(), EMM_DisplacementOperator::computeEnergy(), EMM_AnisotropyOperator::computeEnergyWithMagneticExcitation(), EMM_DisplacementFVMOperator::computeEquilibriumMatrixDiagonalConditioner(), EMM_DisplacementFEMOperator::computeEquilibriumMatrixDiagonalConditioner(), EMM_FullExchangeOperator::computeMagneticExcitationField(), EMM_StaticMagnetostrictionOperator::computeMagneticExcitationField(), EMM_LinearAnisotropyOperator::computeMagneticExcitationField(), EMM_StaticMagneticTensorOperator::computeMagneticExcitationField(), EMM_CubicAnisotropyOperator::computeMagneticExcitationField(), EMM_MinimalExchangeOperator::computeMagneticExcitationField(), EMM_AnisotropyOperator::computeMagneticExcitationField(), EMM_MagnetostrictionOperator::computeMagneticExcitationField(), EMM_CubicAnisotropyOperator::computeMagneticExcitationFieldGradient(), EMM_AnisotropyOperator::computeMagneticExcitationFieldGradient(), EMM_DisplacementFVMOperator::computeMagneticStress(), EMM_DisplacementFEMOperator::computeMagneticStress(), EMM_OptimalTimeStep::computeOptimalTimeStep(), EMM_DisplacementFEMOperator::computeStressConstraintEnergy(), EMM_FullExchangeOperator::discretize(), EMM_MinimalExchangeOperator::discretize(), EMM_CondensedMassMatrix::discretize(), EMM_LinearAnisotropyOperator::discretize(), EMM_AnisotropyOperator::discretize(), EMM_DemagnetizedOperator::discretize(), EMMG_SLDemagnetizedOperator::discretize(), EMM_LandauLifschitzSystem::discretize(), MATH_Vector::divide(), MATH_MaskVector::dot(), MATH_Vector::dot(), EMM_4SymmetricTensors::doubleDot(), EMM_4Tensors::doubleDotCrossDoubleDotScalar(), EMM_4Tensors::doubleDotCrossProduct(), EMM_4Tensors::doubleDotCrossSquaredScalar(), EMM_4Tensors::doubleDotProduct(), MATH_Vector::init(), MATH_MaskVector::init(), EMM_LandauLifschitzODE_RK::integrateMagnetizationFieldAtTime(), EMM_DisplacementFVM_Interpolator::interpolateUAtVertices(), EMMG_SLDemagnetizedOperator::localAssembly(), EMM_DisplacementOperator::nullProjectionOnDirichletBoundary(), EMM_DisplacementOperator::periodicProjection(), EMM_2PackedSymmetricTensors::product(), EMM_CanonicalMassMatrix::product(), MATH_FullMatrix::product(), EMM_CondensedMassMatrix::product(), EMM_BlockMassMatrix::product(), MATH_MorseMatrix::product(), EMMG_SLDemagnetizedOperator::product(), EMM_DisplacementOperator::projectionOnDirichletBoundary(), EMM_LandauLifschitzSystem::resetOperatorsToInitialState(), EMM_DisplacementFVMOperator::setBoundaryFaceTypes(), FFTW_MultiDFTs::setFFT(), FFTW_MultiLevelsDFT::setFFT(), FFTW_MultiLevelsDFT::setLevels(), FFTW_MultiDFTs::setPlan(), FFTW_MultiLevelsDFT::setPlan(), EMM_CondensedMassMatrix::solve(), EMM_LandauLifschitzODE::solveODE(), EMM_4SymmetricTensors::squaredDoubleDot(), EMM_4Tensors::squaredDoubleDotCrossScalar(), EMM_4Tensors::squaredDoubleDotScalar(), EMM_CanonicalMassMatrix::symmetricDot(), EMM_CondensedMassMatrix::symmetricDot(), EMM_BlockMassMatrix::symmetricDot(), FFTW_Test::test(), MATH_SolverTest::test(), EMM_ODETest::testODE(), and updateLimitConditionOnPoints().
|
inlinestaticinherited |
|
inline |
get the vertices number of the grid
Referenced by EMM_DisplacementFEMOperator::buildDataOnNeumannBoundaryFaces(), EMMG_RealField::cellDataToPointData(), EMM_MassMatrix::discretize(), EMM_DisplacementFEMOperator::discretize(), EMM_DisplacementOperator::discretize(), EMMG_RealField::pointDataToCellData(), EMM_DisplacementOperator::resetToInitialState(), and updateLimitConditionOnPoints().
|
inline |
return true if the element at index iElement have a magnetized neighbor with common face iFace in [0,FACES_NUMBEr_PER_ELEMENT[ false otherwise
iElement | index of the element |
iFace | index of the local face in [0,FACES_NUMBER_PER_ELEMENT[ |
References getNeighborElement(), iand, isPeriodic(), tBoolean, tCellFlag, tUCInt, and tUIndex.
|
inlinestaticinherited |
return true if the machine is a 32 bits machine
References CORE_Object::pointer2String(), CORE_Object::printObjectsInMemory(), and tString.
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
return true if the machine is a 64 bits machine
Referenced by EMM_VTK::getVTKType(), and CORE_Test::testType().
test if the element woth neighbor indicator v is magnetized
[in] | v | neighbor indicator of the element in FACES_NUMBER_PER_ELEMENT+1 bits: where in a parallepiped mesh
|
Referenced by EMM_LinearAnisotropyOperator::buildAnisotropyMatrix(), EMM_AnisotropyOperator::buildAnisotropyMatrix(), EMM_DisplacementFEMOperator::buildDataOnNeumannBoundaryFaces(), EMM_DisplacementFEMOperator::computeElasticStress(), EMM_DisplacementFEMOperator::computeElasticTensor(), EMM_DisplacementFEMOperator::computeEquilibriumMatrixDiagonalConditioner(), EMM_DisplacementFEMOperator::computeMagneticStress(), EMM_DisplacementFEMOperator::computeStressConstraintEnergy(), EMM_CondensedMassMatrix::discretize(), EMM_CanonicalMassMatrix::product(), EMM_BlockMassMatrix::product(), EMM_CanonicalMassMatrix::symmetricDot(), EMM_BlockMassMatrix::symmetricDot(), EMM_Grid3DTest::testContainers(), EMMG_RealField::unmagnetized(), and updateLimitConditionOnPoints().
|
inlinestatic |
test if the local point is in magnetized boundary.
x | local coordinates of 3d-point in x[k] in {0,1} |
N | neighbors value of the element: where in a parallepiped mesh
|
periodicity | periodicity on direction P |
Referenced by EMM_Grid3DTest::testContainers(), and updateLimitConditionOnPoints().
|
inlinestatic |
test if the local point is in magnetized boundary
X | : byte integer where if the point belongs to face f |
N | neighbors value of the element where for indicating if the has neighbor element with face f. |
P | periodicity indicator : where where for indicating if the face f is periodic |
Th point is in boundary face if and only if all the following assertions are fullfilled:
|
inlinestatic |
test if the local point is in a periodical boundary
x | : byte integer where if the point belongs to face f |
N | neighbors value of the element where for indicating if the has neighbor element with face f. |
periodicity | periodicity indicator : where where for indicating if the face f is periodic |
|
inlinestatic |
test if the local point is in periodical boundary
X | : byte integer where if the point belongs to face f |
N | neighbors value of the element where for indicating if the has neighbor element with face f. |
P | periodicity indicator : where where for indicating if the face f is periodic |
|
inlinestatic |
test if the local point is in slave periodical boundary
x | : byte integer where if the point belongs to face f |
N | : neighbors value of the element where for indicating if the has neighbor element with face f. |
periodicity | : periodicity indicator : where where for indicating if the face f is periodic |
|
inlinestatic |
test if the local point is in slave periodical boundary
X | : byte integer where if the point belongs to face f |
N | neighbors value of the element where for indicating if the has neighbor element with face f. |
P | periodicity indicator : where where for indicating if the face f is periodic |
References loadFooterFromGEOStream(), loadFromFile(), loadFromGEOFile(), loadFromGEOStream(), loadHeaderFromGEOStream(), saveToFile(), saveToGEOFile(), tBoolean, toString(), tString, tUInteger, and updateLimitConditionOnPoints().
|
inline |
return true if the element is cubic
References mAdimensionizedSegmentsSize, tBoolean, tReal, and tUSInt.
Referenced by EMM_Operator::discretize().
|
inline |
get if the mesh is periodic
References mIsDirectionPeriodic.
Referenced by EMMG_RealField::cellDataToPointData(), EMM_MassMatrix::discretize(), and EMM_DisplacementFVMOperator::discretize().
get if the mesh is periodic on direction d
d | the direction of the mesh in [0,3[ |
References ASSERT_IN.
[in] | index | index of the element |
Referenced by EMMG_RealField::cellDataToPointData(), and EMMG_RealField::pointDataToCellData().
|
static |
return tue if the face f of the magnetized cell (xCell,yCell,zCell) is on Dirichlet boundary
[in] | periodicity | :: periodicity 2 bits flag : xxyyzz for periodicity along x y z (=1 for periodic, =0 otherwise) |
[in] | xCell | : index of the segment of the cell in the x-direction in [0,Nx[ |
[in] | yCell | : index of the segment of the cell in the y-direction in [0,Ny[ |
[in] | zCell | : index of the segment of the cell in the z-direction in [0,Nz[ |
[in] | f | : index of the face in [0,6[ |
[in] | nPx | : number of points in the direction x equals to Nx+1 |
[in] | nPy | : number of points in the direction y equals to Ny+1 |
[in] | nPz | : number of points in the direction z equals to Nz+1 |
[in] | dirichletPoints | : points considered as dirichlet one. |
A face is on dirichet boundary if all the points are dirichlet one. if a point is a slave periodical point, the limit condition is the one of its master point
References DIRICHLET_LIMIT_CONDITION, ELEMENT_POINTS, FACE_POINTS, GET_MASTER_PERIODIC_POINT(), null, POINTS_NUMBER_PER_FACE, SLAVE_LIMIT_CONDITION, tBoolean, tFlag, tLimitCondition, tUCInt, tUIndex, and tUInteger.
Referenced by getNeighborIndicator(), and EMM_DisplacementFVMOperator::setBoundaryFaceTypes().
|
static |
return tue if the face f of the magnetized cell (xCell,yCell,zCell) is on Neumann boundary
[in] | periodicity | : periodicity 2 bits flag : xxyyzz for periodicity along x y z (=1 for periodic, =0 otherwise) |
[in] | xCell | : index of the segment of the cell in the x-direction in [0,Nx[ |
[in] | yCell | : index of the segment of the cell in the y-direction in [0,Ny[ |
[in] | zCell | : index of the segment of the cell in the z-direction in [0,Nz[ |
[in] | f | : index of the face in [0,6[ |
[in] | nPx | : number of points in the direction x equals to Nx+1 |
[in] | nPy | : number of points in the direction y equals to Ny+1 |
[in] | nPz | : number of points in the direction z equals to Nz+1 |
[in] | dirichletPoints | : points considered as dirichlet one. |
A face is on Neumann boundary if one point is a Neumann one. if a point is a slave periodical point, the limit condition is the one of its master point
References ELEMENT_POINTS, FACE_POINTS, GET_MASTER_PERIODIC_POINT(), NEUMANN_LIMIT_CONDITION, null, POINTS_NUMBER_PER_FACE, SLAVE_LIMIT_CONDITION, tBoolean, tFlag, tLimitCondition, tUCInt, tUIndex, and tUInteger.
Referenced by EMM_DisplacementFEMOperator::computeStressConstraintEnergy(), and getNeighborIndicator().
index | index of the element |
References buildMagnetizedElements().
|
inlineinherited |
test if the clas T is an instance of this class
References null.
Referenced by MATH_ToeplitzTest::toeplitzTest().
test if the object is an instance of className
name | name of the class |
References CORE_Object::getIdentityString().
|
inlinestaticinherited |
get if the memory checking is used
References CORE_Object::getClassName(), CORE_Object::mIsMemoryTesting, and tString.
Referenced by main().
|
inline |
get if the mesh is periodic in one direction
References mIsPeriodic.
Referenced by EMM_DemagnetizedOperator::discretize(), EMMG_SLDemagnetizedOperator::discretize(), and hasNeighborToFace().
|
private |
load header from geo stream
[in,out] | f | in/out stream |
[out] | nReadLines | number of lines read |
[out] | nReadProperties | number of properties read |
Referenced by IS_POINT_IN_SLAVE_PERIODIC_BOUNDARY(), and loadFromGEOFile().
load from a file
[in] | fileName | : name of the file to load the geometry |
References CORE_IO::getExtension(), loadFromGEOFile(), and tString.
Referenced by IS_POINT_IN_SLAVE_PERIODIC_BOUNDARY().
load from a geo file
[in] | fileName | : name of the geo file to load the geometry |
References loadFooterFromGEOStream(), loadFromGEOStream(), loadHeaderFromGEOStream(), CORE_Object::out(), CORE_Out::println(), tBoolean, and tUInteger.
Referenced by IS_POINT_IN_SLAVE_PERIODIC_BOUNDARY(), and loadFromFile().
load the neighbors from geo stream
[in,out] | f | inout stream |
[out] | nReadLines | number of lines read |
References getNeighborsIndicators(), mNeighborsIndicators, CORE_String::New(), CORE_String::readInteger(), tCellFlag, tString, tUIndex, and tUInteger.
Referenced by IS_POINT_IN_SLAVE_PERIODIC_BOUNDARY(), and loadFromGEOFile().
|
private |
load header from geo stream
[in,out] | f | inout stream |
[out] | nReadLines | number of lines read |
[out] | nReadProperties | number of properties read |
References mMagnetizedElementsNumber, CORE_String::New(), CORE_String::readInteger(), CORE_String::readReal(), setSegmentsNumber(), setStepsSize(), tBoolean, tDimension, tInteger, tReal, tString, and tUInteger.
Referenced by IS_POINT_IN_SLAVE_PERIODIC_BOUNDARY(), and loadFromGEOFile().
|
inlinestatic |
create a Grid3D object
References EMM_Grid3D(), updateElementTranslations(), and updateMagnetizedElementsNumber().
Referenced by EMM_Test::createBox(), EMM_Test::createCube(), EMM_ClassFactory::NewInstance(), EMM_Grid3DTest::testSegment(), and EMM_Grid3DTest::testThinSheet().
|
inlinestaticinherited |
get the output
Referenced by EMM_Matter::adimensionize(), EMM_DisplacementFVMOperator::backup(), EMM_DisplacementOperator::backup(), MATH_ElementaryMultiLevelsToeplitzMatrix::buildSpectralVectorProjector(), EMM_Test::caseTest(), EMM_Test::caseTests(), EMM_MatterField::computeAnisotropyDirectionsField(), EMM_OptimalTimeStep::computeOptimalTimeStep(), MATH_MultiLevelsToeplitzMatrix::copy(), CORE_Exception::CORE_Exception(), EMM_MatterField::createAnisotropyOperator(), CORE_Run::createIO(), EMM_ElementaryTest::defaultBackupTest(), EMM_ElementaryTest::defaultTest(), MATH_MultiLevelsFFTToeplitzMatrix::diagonalize(), EMM_DisplacementFVMOperator::discretize(), EMM_MagnetostrictionOperator::discretize(), EMM_DisplacementFEMOperator::discretize(), EMM_4SymmetricTensors::doubleDot(), EMM_4Tensors::doubleDotCrossDoubleDotScalar(), EMM_TensorsTest::doubleDotCrossDoubleDotScalarTests(), EMM_4Tensors::doubleDotCrossProduct(), EMM_TensorsTest::doubleDotCrossProductTests(), EMM_4Tensors::doubleDotCrossSquaredScalar(), EMM_TensorsTest::doubleDotCrossSquaredScalarTests(), EMM_4Tensors::doubleDotProduct(), EMM_TensorsTest::doubleDotProductTests(), EMM_DisplacementWaveTest::elasticWaveTest(), EMM_Test::elementaryTests(), FFTW_Test::fftwTutorial(), MATH_IntegrationTest::gaussLegendreTest(), EMM_MagnetostrictionTest::HComputingTest(), EMM_DemagnetizedPeriodicalTest::HTest(), EMMH_HysteresisTest::hysteresisDefaultCycleTest(), EMM_TensorsTest::initializationTests(), EMM_MultiScaleGrid::initialize(), EMM_MultiScaleSDGrid::initialize(), EMM_MatterField::loadFromANIFile(), EMM_AnisotropyDirectionsField::loadFromFile(), EMM_Matter::loadFromFile(), loadFromGEOFile(), EMM_MatterField::loadFromLOCFile(), EMM_Array< tCellFlag >::loadFromStream(), EMM_Matter::loadFromStream(), EMM_Matter::loadMattersFromFile(), EMM_Run::loadSystemFromOptions(), EMM_ElementaryTest::magnetostrictionBackupTest(), CORE_Run::make(), EMMH_Run::makeHysteresis(), EMM_Run::makeRun(), CORE_Run::makeType(), EMM_ElementaryTest::optionsTest(), MATH_PolynomialTest::P4Tests(), EMM_Test::primaryTests(), EMM_LandauLifschitzSystem::printLog(), CORE_Run::printOptions(), EMM_2PackedSymmetricTensors::product(), EMMG_SLDemagnetizedOperator::projectionOnSpectralSpace(), CORE_Run::readOptionsFromCommandLine(), CORE_Test::readVectorTest(), EMM_DemagnetizedPeriodicalTest::relaxationTest(), EMM_DisplacementFVMOperator::restore(), EMM_DisplacementOperator::restore(), EMM_Input::restoreBackup(), EMMH_Hysteresis::run(), EMM_Output::save(), EMM_AnisotropyDirectionsField::saveToFile(), EMM_MatterField::saveToFile(), saveToGEOFile(), CORE_IOTest::searchTest(), EMMH_Hysteresis::setInitialMagnetizationField(), MATH_MultiLevelsToeplitzMatrix::setLevels(), EMM_4SymmetricTensors::squaredDoubleDot(), EMM_4Tensors::squaredDoubleDotCrossScalar(), EMM_TensorsTest::squaredDoubleDotCrossScalarTests(), EMM_4Tensors::squaredDoubleDotScalar(), EMM_TensorsTest::squaredDoubleDotScalarTests(), EMM_TensorsTest::squaredDoubleDotTests(), EMM_MatterTest::testAdimensionize(), EMM_MatterTest::testANIFile(), CORE_Test::testComplex(), CORE_Test::testDateWeek(), FFTW_Test::testDFT(), EMM_MatterTest::testIO(), EMM_ODETest::testODE(), CORE_Test::testOut(), CORE_Test::testReal(), EMM_FieldTest::testRealArray(), EMM_Grid3DTest::testSegment(), EMM_Grid3DTest::testThinSheet(), CORE_Test::testTime(), CORE_Test::testType(), MATH_FullMatrix::toString(), EMM_DemagnetizedPeriodicalTest::xyPeriodicalCubeSDGTest(), and EMM_DemagnetizedPeriodicalTest::xyPeriodicalSheetSDGTest().
|
staticinherited |
return the string representation of a pointer
obj | : oject to get the string pointer |
References tString.
Referenced by CORE_Object::CORE_Object(), CORE_Object::getIdentityString(), CORE_Object::getPointerAddress(), CORE_Object::is32Architecture(), and CORE_Object::~CORE_Object().
|
staticinherited |
print object in memory
f | : output to print the objects in memory |
References CORE_Object::getIdentityString(), CORE_Object::getSharedPointer(), CORE_Object::mIsMemoryTesting, CORE_Object::mObjects, and tInteger.
|
inlinestaticinherited |
print object in memory in the standart output
Referenced by CORE_Object::is32Architecture(), and main().
|
inlinestaticinherited |
|
inlinestaticinherited |
save to a file
[in] | fileName | : name of the file to save the geometry |
References CORE_IO::getExtension(), saveToGEOFile(), and tString.
Referenced by IS_POINT_IN_SLAVE_PERIODIC_BOUNDARY().
save to a geo file
[in] | fileName | : name of the geo file to save the geometry |
References mElementsNumber, mMagnetizedElementsNumber, mNeighborsIndicators, mSegmentsNumber, mSegmentsSize, CORE_Object::out(), CORE_Out::println(), tBoolean, tChar, tIndex, CORE_Time::toString(), and tUSInt.
Referenced by IS_POINT_IN_SLAVE_PERIODIC_BOUNDARY(), and saveToFile().
set if the mesh is periodic on all directions
References tUSInt.
|
inlinestaticinherited |
set if the memory checking is used
v | : true to check memory |
Referenced by main().
|
inline |
set if the mesh is periodic on all directions
References tUSInt.
|
inlinestaticinherited |
|
inline |
set the segments number in all directions
nx | : the number of segment in the x direction |
ny | : the number of segment in the y direction |
nz | : the number of segment in the z direction |
References updateElementTranslations().
Referenced by EMM_Test::createBox(), EMM_Test::createCube(), and loadHeaderFromGEOStream().
|
inline |
set the step size in the direction x,y,z when it's the same for the 3 directions
l | : the common step size for the 3 direction |
References setStepsSize().
set the step size in the direction x,y,z : length of segment in each direction
lx | : the step size in the x direction |
ly | : the step size in the y direction |
lz | : the step size in the z direction |
Referenced by EMM_Test::createBox(), EMM_Test::createCube(), loadHeaderFromGEOStream(), and setStepSize().
|
inlineprotectedinherited |
set this weak shared pointer called toDoAfterThis setting method
p | : shared pointer of the class This |
References CORE_Object::toDoAfterThisSetting().
|
inlinestaticinherited |
set the thread
thread | the shared pointer to the thread |
References null.
Referenced by EMM_Run::EMM_Run(), EMM_TensorsRun::EMM_TensorsRun(), and MATH_SolverRun::MATH_SolverRun().
|
private |
|
inlineprotectedvirtualinherited |
method called after the setting of the shared pointer this method can only be called once.
Reimplemented from CORE_Object.
Reimplemented in EMM_DisplacementOperator, EMM_DisplacementFVMOperator, EMM_GaussLegendreRelaxation, and EMM_GradGaussLegendreRelaxation.
Referenced by EMM_GaussLegendreRelaxation::toDoAfterThisSetting(), and EMM_DisplacementOperator::toDoAfterThisSetting().
|
virtual |
turn the mesh into string
Reimplemented from CORE_Object.
References CORE_String::boolean2String(), CORE_Object::getIdentityString(), getNeighborsIndicators(), getReferenceLength(), mAdimensionizedSegmentsSize, mIsDirectionPeriodic, mNeighborsIndicators, mSegmentsNumber, mSegmentsSize, tCellFlag, CORE_Real::toString(), CORE_Integer::toString(), CORE_String::toString(), tString, tUIndex, and tUSInt.
Referenced by IS_POINT_IN_SLAVE_PERIODIC_BOUNDARY().
|
private |
update the values of private arrays depending on the discretization of the domain :
References mBoundElement, mNextElementTranslation, mPeriodicElementTranslation, mSegmentsNumber, and tUInteger.
Referenced by EMM_Grid3D(), New(), and setSegmentsNumber().
void EMM_Grid3D::updateLimitConditionOnPoints | ( | EMM_LimitConditionArray & | lc | ) | const |
update the limit condition of each point.
[in,out] | lc | limit condition points array |
Note that a point on master priodic face may be a dirichlet one to impose dirichlet condition on periodical faces
References DIRICHLET_LIMIT_CONDITION, ELEMENT_POINTS, getNeighborsIndicators(), getPeriodicIndicator(), getSegmentsNumber(), CORE_Object::getThread(), CORE_Thread::getThreadsNumber(), getVerticesNumber(), IS_ELEMENT_MAGNETIZED(), IS_POINT_IN_BOUNDARY(), NEUMANN_LIMIT_CONDITION, NO_LIMIT_CONDITION, null, OMP_GET_THREAD_ID, OMP_PARALLEL_PRIVATE_SHARED_DEFAULT, POINTS_NUMBER_PER_ELEMENT, CORE_Array< T >::setSize(), SLAVE_LIMIT_CONDITION, tBoolean, tCellFlag, tInteger, tLimitCondition, tUCInt, tUIndex, tUInteger, and tUSInt.
Referenced by IS_POINT_IN_SLAVE_PERIODIC_BOUNDARY().
void EMM_Grid3D::updateMagnetizedElementsNumber | ( | ) |
compute the magnetized elements number form neighbors array the number of magnetized elements is returned by the method getMagnetizedElementsNumber()
References getElementsNumber(), getNeighborsIndicators(), MAGNETIZED_ELEMENT_MIN_INDICATOR, mMagnetizedElementsNumber, tCellFlag, and tUIndex.
Referenced by EMM_Test::createBox(), EMM_Test::createCube(), and New().
|
static |
Referenced by EMM_DisplacementFVMOperator::buildDataOnDirichletBoundaryFaces(), EMM_DisplacementFEMOperator::computeElasticStress(), EMM_DisplacementFEMOperator::computeEquilibriumMatrixDiagonalConditioner(), EMM_DisplacementFVM_VOGGROperator::computeGradUAtCellByOstrogradskiGreenIntegration(), EMM_DisplacementFVM_SSGROperator::computeGradUAtFaceByStokesIntegration(), EMM_DisplacementFVM_Interpolator::interpolateUAtFace(), EMM_DisplacementFVM_Interpolator::interpolateUAtVertex(), isFaceOnDirichletBoundary(), EMM_DisplacementWaveTest::loadData(), EMM_DisplacementOperator::nullProjectionOnDirichletBoundary(), EMM_CanonicalMassMatrix::product(), EMM_CondensedMassMatrix::product(), EMM_BlockMassMatrix::product(), EMM_DisplacementOperator::projectionOnDirichletBoundary(), EMM_CondensedMassMatrix::solve(), and updateLimitConditionOnPoints().
|
static |
points index of edge get the local index of the points in edge between face l & r (r>l, r,l in [0,6[ is EDGE_POINTS[2*(r+l*(l+1)/2)] and EDGE_POINTS[2*(r+l*(l+1)/2)+1]
Referenced by EMM_DisplacementFVM_STEGROperator::computeGradAlmostNullUAtFaceByTaylorExpansion(), EMM_DisplacementFVM_Interpolator::edgeMean(), and EMM_Grid3DTest::testEdges().
|
static |
|
static |
points coordinate of elements get the local coodinates of the points in {0,1} : ELEMENT_POINTS[i*3] is the 3D coordinates of the locat point at index i
Referenced by EMM_DisplacementFEMOperator::buildDataOnNeumannBoundaryFaces(), EMM_DisplacementFVM_Interpolator::cellMean(), EMM_DisplacementFEMOperator::computeElasticStress(), EMM_DisplacementFEMOperator::computeElasticTensor(), EMM_DisplacementFEMOperator::computeEquilibriumMatrixDiagonalConditioner(), EMM_DisplacementFVM_SSGROperator::computeGradAlmostNullUAtFaceByStokesIntegration(), EMM_DisplacementFVM_STEGROperator::computeGradAlmostNullUAtFaceByTaylorExpansion(), EMM_DisplacementFVM_VOGGROperator::computeGradUAtCellByOstrogradskiGreenIntegration(), EMM_DisplacementFVM_SSGROperator::computeGradUAtFaceByStokesIntegration(), EMM_DisplacementFEMOperator::computeMagneticStress(), EMM_DisplacementFVM_Interpolator::computeNeighborCellsNumber(), EMM_DisplacementFEMOperator::computeStressConstraintEnergy(), EMM_CondensedMassMatrix::discretize(), EMM_DisplacementFVM_Interpolator::edgeMean(), EMM_DisplacementFVM_Interpolator::faceMean(), EMM_DisplacementFVM_Interpolator::interpolateUAtFace(), EMM_DisplacementFVM_Interpolator::interpolateUAtVertex(), isFaceOnDirichletBoundary(), isFaceOnNeumannBoundary(), EMM_CanonicalMassMatrix::product(), EMM_BlockMassMatrix::product(), EMM_CanonicalMassMatrix::symmetricDot(), EMM_BlockMassMatrix::symmetricDot(), and updateLimitConditionOnPoints().
|
static |
points index of elements get the local index of the points in face : FACE_POINTS[f*POINTS_NUMBER_PER_FACE+p] is the index of the p-th point in the face f in [0,POINTS_NUMBER_PER_ELEMENT[ f in [0,FACES_NUMBER_PER_ELEMENT
Referenced by EMM_DisplacementFEMOperator::buildDataOnNeumannBoundaryFaces(), EMM_DisplacementFVM_SSGROperator::computeGradAlmostNullUAtFaceByStokesIntegration(), EMM_DisplacementFVM_VOGGROperator::computeGradUAtCellByOstrogradskiGreenIntegration(), EMM_DisplacementFVM_SSGROperator::computeGradUAtFaceByStokesIntegration(), EMM_DisplacementFEMOperator::computeStressConstraintEnergy(), EMM_DisplacementFVM_Interpolator::faceMean(), EMM_DisplacementFVM_Interpolator::interpolateUAtFace(), isFaceOnDirichletBoundary(), isFaceOnNeumannBoundary(), and EMM_Grid3DTest::testEdges().
|
static |
Referenced by buildMagnetizedNeighborsIndices(), buildNeighborsIndices(), and EMM_Grid3DTest::testEdges().
|
staticinherited |
|
private |
adimensionized segments size
Referenced by EMM_Grid3D(), getAdimensionizedSegmentsSize(), isCubicVolume(), and toString().
|
private |
the adimensionized volume
Referenced by EMM_Grid3D(), and getAdimensionizedVolume().
|
static |
|
static |
Referenced by buildMagnetizedElements(), and updateMagnetizedElementsNumber().
|
private |
get the index in [0,mSegmentsNumber[k][ of the 2 bound elements at each direction
Referenced by getNeighborElement(), and updateElementTranslations().
|
private |
number of elements
Referenced by EMM_Grid3D(), and saveToGEOFile().
|
private |
priodicity of direction the mesh
Referenced by EMM_Grid3D(), getNeighborElement(), isDirectionPeriodic(), and toString().
|
private |
true if the mesh is periodic in one direction
Referenced by EMM_Grid3D(), and isPeriodic().
|
private |
reference length
Referenced by adimensionize(), EMM_Grid3D(), and getReferenceLength().
|
private |
max size of the cell
Referenced by adimensionize(), EMM_Grid3D(), and getMaxElementSize().
|
private |
min size of the cell
Referenced by EMM_Grid3D(), and getMinElementSize().
|
private |
number of magnetized element
Referenced by EMM_Grid3D(), getMagnetizedElementsNumber(), loadHeaderFromGEOStream(), saveToGEOFile(), and updateMagnetizedElementsNumber().
|
private |
mNeigbor indicator for each element
Referenced by buildMagnetizedElements(), EMM_Grid3D(), getNeighborElement(), getNeighborsIndicatorsByReference(), loadFromGEOStream(), saveToGEOFile(), and toString().
|
private |
get the index translation in each direction to have the previous or next element
Referenced by getNeighborElement(), and updateElementTranslations().
|
private |
get the index translation in each direction to have the periodic element
Referenced by getNeighborElement(), and updateElementTranslations().
|
private |
segments number
Referenced by EMM_Grid3D(), getNeighborElement(), getSegmentsNumber(), saveToGEOFile(), toString(), and updateElementTranslations().
|
private |
segments size
Referenced by EMM_Grid3D(), getSegmentsSize(), getStepsSize(), saveToGEOFile(), and toString().
|
staticinherited |
Referenced by EMM_MatterField::adimensionize(), EMM_MagnetostrictionOperator::adimensionize(), EMM_Matter::adimensionize(), EMM_CubicAnisotropyOperator::ComputeMagneticExcitation(), EMM_CubicAnisotropyOperator::computeMagneticExcitationField(), EMM_CubicAnisotropyOperator::computeMagneticExcitationFieldGradient(), EMM_CubicAnisotropyOperator::ComputeMagneticExcitationGradient(), EMM_Test::createMatters(), EMM_MatterField::getElasticTensorAdimensionizedParameter(), and EMM_MatterTest::testAdimensionize().
|
mutableprivate |
|
static |
Referenced by EMM_DisplacementFVMOperator::buildDataOnNeumannBoundaryFaces(), EMM_DisplacementFEMOperator::buildDataOnNeumannBoundaryFaces(), isFaceOnNeumannBoundary(), EMM_DisplacementWaveTest::loadData(), EMM_VelocitySolverTest::massMatrixTest(), EMM_VelocitySolverTest::massMatrixTrivialSolverTest(), and updateLimitConditionOnPoints().
|
static |
Referenced by updateLimitConditionOnPoints().
|
staticinherited |
Referenced by EMM_DisplacementFVM_VOGGROperator::computeGradAlmostNullUAtCellByOstrogradskiGreenIntegration(), EMM_DisplacementFVM_VTEGROperator::computeGradAlmostNullUAtCellByTaylorExpansionWithNeumannInterpolation(), EMM_DisplacementFVM_SSGROperator::computeGradAlmostNullUAtFaceByStokesIntegration(), EMM_DisplacementFVM_VOGGROperator::computeGradAlmostNullUAtNextCellByOstrogradskiGreenIntegration(), EMM_DisplacementFVM_VTEGROperator::computeGradUAtCellByTaylorExpansionWithNeumannInterpolation(), EMM_DisplacementFVM_VGROperator::computeGradUAtFace(), EMM_DisplacementFVM_SSGROperator::computeGradUAtFaceByStokesIntegration(), EMM_DisplacementFVM_STEGROperator::computeGradUAtFaceByTaylorExpansion(), EMM_DisplacementFVM_Interpolator::interpolateUAtEdge(), and EMM_DisplacementFVM_Interpolator::interpolateUAtVertices().
|
static |
Referenced by EMM_DisplacementFEMOperator::getDataFieldSpace(), and EMM_Output::saveVTI().
|
static |
Referenced by EMM_DisplacementFEMOperator::buildDataOnNeumannBoundaryFaces(), EMM_DisplacementFVM_Interpolator::cellMean(), EMM_DisplacementFEMOperator::computeElasticStress(), EMM_DisplacementFEMOperator::computeElasticTensor(), EMM_DisplacementFEMOperator::computeEquilibriumMatrixDiagonalConditioner(), EMM_DisplacementFEMOperator::computeMagneticStress(), EMM_DisplacementFVM_Interpolator::computeNeighborCellsNumber(), EMM_CondensedMassMatrix::discretize(), EMM_CanonicalMassMatrix::product(), EMM_BlockMassMatrix::product(), EMM_CanonicalMassMatrix::symmetricDot(), EMM_BlockMassMatrix::symmetricDot(), and updateLimitConditionOnPoints().
|
static |
Referenced by EMM_DisplacementFEMOperator::buildDataOnNeumannBoundaryFaces(), EMM_DisplacementFVM_VOGGROperator::computeGradAlmostNullUAtCellByOstrogradskiGreenIntegration(), EMM_DisplacementFVM_SSGROperator::computeGradAlmostNullUAtFaceByStokesIntegration(), EMM_DisplacementFVM_VOGGROperator::computeGradAlmostNullUAtNextCellByOstrogradskiGreenIntegration(), EMM_DisplacementFVM_VOGGROperator::computeGradUAtCellByOstrogradskiGreenIntegration(), EMM_DisplacementFVM_SSGROperator::computeGradUAtFaceByStokesIntegration(), EMM_DisplacementFEMOperator::computeStressConstraintEnergy(), EMM_DisplacementFVM_Interpolator::faceMean(), EMM_DisplacementFVM_Interpolator::interpolateUAtFace(), isFaceOnDirichletBoundary(), isFaceOnNeumannBoundary(), and EMM_Grid3DTest::testEdges().
|
static |
Referenced by EMM_DisplacementFEMOperator::buildDataOnNeumannBoundaryFaces(), EMM_DisplacementFVM_Interpolator::cellMean(), EMM_DisplacementFEMOperator::computeElasticStress(), EMM_DisplacementFEMOperator::computeEquilibriumMatrixDiagonalConditioner(), EMM_DisplacementFVM_VOGGROperator::computeGradUAtCellByOstrogradskiGreenIntegration(), EMM_DisplacementFVM_SSGROperator::computeGradUAtFaceByStokesIntegration(), EMM_DisplacementFVM_Interpolator::edgeMean(), EMM_DisplacementFVM_Interpolator::faceMean(), EMM_DisplacementFVM_Interpolator::interpolateUAtFace(), EMM_DisplacementFVM_Interpolator::interpolateUAtVertex(), isFaceOnDirichletBoundary(), isFaceOnNeumannBoundary(), EMM_DisplacementOperator::periodicProjection(), EMM_CanonicalMassMatrix::product(), EMM_CondensedMassMatrix::product(), EMM_BlockMassMatrix::product(), EMM_CondensedMassMatrix::solve(), and updateLimitConditionOnPoints().
|
staticprivate |
Referenced by getNeighborElement().
|
static |
return the index of the unmagnetized element
Referenced by buildMagnetizedNeighborsIndices(), EMM_FullExchangeOperator::buildMatrix(), EMM_DisplacementFVMOperator::computeElasticStress(), EMM_DisplacementFVMOperator::computeEquilibriumMatrixDiagonalConditioner(), EMM_DisplacementFVM_VTEGROperator::computeGradAlmostNullUAtCellByTaylorExpansionWithNeumannInterpolation(), EMM_DisplacementFVM_VGROperator::computeGradAlmostNullUAtFace(), EMM_DisplacementFVM_SSGROperator::computeGradAlmostNullUAtFaceByStokesIntegration(), EMM_DisplacementFVM_STEGROperator::computeGradAlmostNullUAtFaceByTaylorExpansion(), EMM_DisplacementFVM_VTEGROperator::computeGradAlmostNullUAtNextCellByTaylorExpansionWithNeumannInterpolation(), EMM_DisplacementFVM_VTEGROperator::computeGradUAtCellByTaylorExpansionWithNeumannInterpolation(), EMM_DisplacementFVM_VGROperator::computeGradUAtFace(), EMM_DisplacementFVM_SSGROperator::computeGradUAtFaceByStokesIntegration(), EMM_DisplacementFVM_STEGROperator::computeGradUAtFaceByTaylorExpansion(), EMM_MinimalExchangeOperator::computeMagneticExcitationField(), EMM_DisplacementFVMOperator::computeMagneticStress(), EMM_FullExchangeOperator::discretize(), getNeighborElement(), EMM_DisplacementFVM_Interpolator::interpolateUAtEdge(), EMM_DisplacementFVMOperator::setBoundaryFaceTypes(), EMM_Grid3DTest::testSegment(), and EMM_Grid3DTest::testThinSheet().
|
staticinherited |
|
staticinherited |
Referenced by EMMG_SLSDXPeriodicMultiScale::computeMultiGridExcitationField(), EMMG_RealField::fitToSize(), EMM_MassMatrix::getElementVolume(), EMM_CanonicalMassMatrix::isSymmetric(), EMM_BlockMassMatrix::product(), EMM_CondensedMassMatrix::product(), EMM_RealField::setValue(), EMM_CanonicalMassMatrix::solve(), EMM_BlockMassMatrix::solve(), EMM_BlockMassMatrix::toString(), and EMMG_RealField::wedge().
|
staticinherited |