FEMTIC
Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
Forward3DTetraElement0thOrder Class Reference

#include <Forward3DTetraElement0thOrder.h>

Inheritance diagram for Forward3DTetraElement0thOrder:
Inheritance graph
[legend]
Collaboration diagram for Forward3DTetraElement0thOrder:
Collaboration graph
[legend]

Public Member Functions

 Forward3DTetraElement0thOrder ()
 
virtual ~Forward3DTetraElement0thOrder ()
 
virtual void forwardCalculation (const double freq, const int iPol)
 
virtual std::complex< double > calcValueElectricFieldXDirection (const int iElem, const double uCoord, const double vCoord, const double wCoord) const
 
virtual std::complex< double > calcValueElectricFieldYDirection (const int iElem, const double uCoord, const double vCoord, const double wCoord) const
 
virtual std::complex< double > calcValueElectricFieldZDirection (const int iElem, const double uCoord, const double vCoord, const double wCoord) const
 
virtual std::complex< double > calcValueElectricFieldXDirectionFromEdgesOnEarthSurface (const int iElem, const int iFace, const double uCoord, const double vCoord) const
 
virtual std::complex< double > calcValueElectricFieldYDirectionFromEdgesOnEarthSurface (const int iElem, const int iFace, const double uCoord, const double vCoord) const
 
virtual std::complex< double > calcValueElectricFieldTangentialXFromAllEdges (const int iElem, const int iFace, const double xLocal, const double yLocal, const double zLocal) const
 
virtual std::complex< double > calcValueElectricFieldTangentialYFromAllEdges (const int iElem, const int iFace, const double xLocal, const double yLocal, const double zLocal) const
 
virtual std::complex< double > calcValueElectricFieldTangentialX (const int iElem, const int iFace, const double uCoord, const double vCoord) const
 
virtual std::complex< double > calcValueElectricFieldTangentialY (const int iElem, const int iFace, const double uCoord, const double vCoord) const
 
virtual std::complex< double > calcValueRotatedElectricFieldZDirection (const int iElem, const double uCoord, const double vCoord, const double wCoord) const
 
virtual std::complex< double > calcValueRotatedElectricFieldNormal (const int iElem, const int iFace, const double uCoord, const double vCoord) const
 
virtual std::complex< double > calcValueMagneticFieldXDirection (const int iElem, const double uCoord, const double vCoord, const double wCoord) const
 
virtual std::complex< double > calcValueMagneticFieldYDirection (const int iElem, const double uCoord, const double vCoord, const double wCoord) const
 
virtual std::complex< double > calcValueMagneticFieldZDirection (const int iElem, const double uCoord, const double vCoord, const double wCoord) const
 
virtual std::complex< double > calcVoltageDifference (const int nElem, const int *elememtsIncludingDipole, const CommonParameters::locationXY *localCoordinateValuesStartPoint, const CommonParameters::locationXY *localCoordinateValuesEndPoint) const
 
virtual std::complex< double > calcVoltageDifference (const int nElem, const int *const elememtsIncludingDipole, const int *const facesIncludingDipole, const CommonParameters::AreaCoords *const areaCoordValStartPoint, const CommonParameters::AreaCoords *const areaCoordValEndPoint) const
 
virtual void calcInterpolatorVectorOfElectricFieldXDirection (const int iElem, const double uCoord, const double vCoord, const double wCoord, const int irhs, const std::complex< double > &factor=std::complex< double >(1.0, 0.0))
 
virtual void calcInterpolatorVectorOfElectricFieldYDirection (const int iElem, const double uCoord, const double vCoord, const double wCoord, const int irhs, const std::complex< double > &factor=std::complex< double >(1.0, 0.0))
 
virtual void calcInterpolatorVectorOfElectricFieldZDirection (const int iElem, const double uCoord, const double vCoord, const double wCoord, const int irhs, const std::complex< double > &factor=std::complex< double >(1.0, 0.0))
 
virtual void calcInterpolatorVectorOfRotatedElectricFieldZDirection (const int iElem, const double uCoord, const double vCoord, const double wCoord, const int irhs, const std::complex< double > &factor=std::complex< double >(1.0, 0.0))
 
virtual void calcInterpolatorVectorOfElectricFieldXDirectionFromEdgesOnEarthSurface (const int iElem, const int iFace, const double uCoord, const double vCoord, const int irhs, const std::complex< double > &factor=std::complex< double >(1.0, 0.0))
 
virtual void calcInterpolatorVectorOfElectricFieldYDirectionFromEdgesOnEarthSurface (const int iElem, const int iFace, const double uCoord, const double vCoord, const int irhs, const std::complex< double > &factor=std::complex< double >(1.0, 0.0))
 
virtual void calcInterpolatorVectorOfElectricFieldTangentialXFromAllEdges (const int iElem, const int iFace, const double xLocal, const double yLocal, const double zLocal, const int irhs, const std::complex< double > &factor=std::complex< double >(1.0, 0.0))
 
virtual void calcInterpolatorVectorOfElectricFieldTangentialYFromAllEdges (const int iElem, const int iFace, const double xLocal, const double yLocal, const double zLocal, const int irhs, const std::complex< double > &factor=std::complex< double >(1.0, 0.0))
 
virtual void calcInterpolatorVectorOfElectricFieldTangentialX (const int iElem, const int iFace, const double uCoord, const double vCoord, const int irhs, const std::complex< double > &factor=std::complex< double >(1.0, 0.0))
 
virtual void calcInterpolatorVectorOfElectricFieldTangentialY (const int iElem, const int iFace, const double uCoord, const double vCoord, const int irhs, const std::complex< double > &factor=std::complex< double >(1.0, 0.0))
 
virtual void calcInterpolatorVectorOfRotatedElectricFieldNormal (const int iElem, const int iFace, const double uCoord, const double vCoord, const int irhs, const std::complex< double > &factor=std::complex< double >(1.0, 0.0))
 
virtual void calcInterpolatorVectorOfMagneticFieldXDirection (const int iElem, const double uCoord, const double vCoord, const double wCoord, const int irhs, const std::complex< double > &factor=std::complex< double >(1.0, 0.0))
 
virtual void calcInterpolatorVectorOfMagneticFieldYDirection (const int iElem, const double uCoord, const double vCoord, const double wCoord, const int irhs, const std::complex< double > &factor=std::complex< double >(1.0, 0.0))
 
virtual void calcInterpolatorVectorOfMagneticFieldZDirection (const int iElem, const double uCoord, const double vCoord, const double wCoord, const int irhs, const std::complex< double > &factor=std::complex< double >(1.0, 0.0))
 
virtual void calcInterpolatorVectorOfVoltageDifference (const int nElem, const int *elememtsIncludingDipole, const CommonParameters::locationXY *localCoordinateValuesStartPoint, const CommonParameters::locationXY *localCoordinateValuesEndPoint, const int irhs)
 
virtual void calcInterpolatorVectorOfVoltageDifference (const int nElem, const int *elememtsIncludingDipole, const int *const facesIncludingDipole, const CommonParameters::AreaCoords *const areaCoordValStartPoint, const CommonParameters::AreaCoords *const areaCoordValEndPoint, const int irhs)
 
virtual void setNonZeroStrucuture (ComplexSparseSquareSymmetricMatrix &matrix)
 
virtual void setNonZeroValues (ComplexSparseSquareSymmetricMatrix &matrix)
 
virtual void calVectorXOfReciprocityAlgorithm (const std::complex< double > *const vecIn, const int blkID, std::complex< double > *const vecOut, std::vector< int > &nonZeroRows)
 
virtual void callInputMeshData ()
 
virtual const MeshDatagetPointerToMeshData () const
 
const MeshDataTetraElementgetPointerToMeshDataTetraElement () const
 
- Public Member Functions inherited from Forward3D
 Forward3D ()
 
virtual ~Forward3D ()
 
virtual void copySolutionVectorDegenerated (const int iPol, std::complex< double > *solutionVector) const
 
int getPolarizationCurrent () const
 
double getFrequencyCurrent () const
 
int getOrderOfFiniteElement () const
 
int getNumOfEquationDegenerated () const
 
virtual int getNumOfEquationFinallySolved () const
 
void releaseMemoryOfMatrixAndSolver ()
 
void initializeRhsVectors (const int nrhs)
 
void solvePhaseForRhsConsistingInterpolatorVectors (const int numInterpolatorVectors, std::complex< double > *solutionForInterpolatorVectors)
 
void calculateDerivativesOfEMField (const int numInterpolatorVectors, const std::complex< double > *const solutionForInterpolatorVectors, std::complex< double > *const derivatives)
 
void allcateMemoryForDerivativeOfInterpolatorVectors (const int numInterpolatorVectors)
 

Private Member Functions

 Forward3DTetraElement0thOrder (const Forward3DTetraElement0thOrder &rhs)
 
Forward3DTetraElement0thOrderoperator= (const Forward3DTetraElement0thOrder &rhs)
 
void calcArrayConvertLocalID2Global ()
 
void calcArrayConvertIDsGlobal2AfterDegenerated ()
 
void calcArrayConvertIDGlobal2NonZeroValues ()
 
double getShapeFuncReferenceCoordU (const double uLocal, const double vLocal, const double wLocal, const int num) const
 
double getShapeFuncReferenceCoordV (const double uLocal, const double vLocal, const double wLocal, const int num) const
 
double getShapeFuncReferenceCoordW (const double uLocal, const double vLocal, const double wLocal, const int num) const
 
double get2DShapeFuncReferenceCoordU (const double uLocal, const double vLocal, const int num) const
 
double get2DShapeFuncReferenceCoordV (const double uLocal, const double vLocal, const int num) const
 
double get2DShapeFuncRotated () const
 
double getShapeFuncRotatedReferenceCoordU (const int num) const
 
double getShapeFuncRotatedReferenceCoordV (const int num) const
 
double getShapeFuncRotatedReferenceCoordW (const int num) const
 
void calcJacobianMatrix (const int elemID, Forward3D::Matrix3x3 &JacobMat, double &determinant) const
 
void calc2DJacobianMatrix (const int elemID, const int faceID, Forward3D::Matrix2x2 &JacobMat, double &determinant) const
 
void calcInclinationsOfElementFace (const int elemID, const int faceID, double &dLengdX, double &dLengdY) const
 
void calcInverseOfJacobianMatrix (const Forward3D::Matrix3x3 &jacobMat, Forward3D::Matrix3x3 &invJacobMat) const
 
bool calcRatioAndReverseFlag (const int faceID, const int edgeIDLocal2D, const CommonParameters::AreaCoords &startPoint, const CommonParameters::AreaCoords &endPoint, double &ratio) const
 
virtual void outputResultToVTK () const
 
virtual void outputResultToBinary (const int iFreq, const int iPol) const
 
void calcIntegrals (const int elemID, double *eMat, double *fMat) const
 
double calcDeterminant (const double *rowVec0, const double *rowVec1, const double *rowVec2, const int icol) const
 

Private Attributes

double m_uCoord [m_numIntegralPoints]
 
double m_vCoord [m_numIntegralPoints]
 
double m_wCoord [m_numIntegralPoints]
 
double m_weights [m_numIntegralPoints]
 
Forward2DTriangleElement0thOrderEdgeBasedm_Fwd2DTriangleElement [4]
 
MeshDataTetraElement m_MeshDataTetraElement
 
bool ** m_signInversion
 

Static Private Attributes

static const int DIRICHLET_BOUNDARY_NONZERO_VALUE = -1
 
static const int DIRICHLET_BOUNDARY_ZERO_VALUE = -2
 
static const int m_numIntegralPoints = 4
 
static const double m_eps = 1.0e-12
 

Additional Inherited Members

- Protected Member Functions inherited from Forward3D
void setPolarizationCurrent (const int iPol)
 
void setFrequencyCurrent (const double freq)
 
void setOrderOfFiniteElement (const int order)
 
void addValuesToRhsVectors (const int irow, const int irhs, const std::complex< double > &val)
 
void initializeSparseSolver ()
 
- Protected Attributes inherited from Forward3D
int m_numOfEquation
 
int m_numOfEquationDegenerated
 
int ** m_IDsLocal2Global
 
bool m_hasSetIDsLocal2Global
 
int * m_IDsGlobal2AfterDegenerated [2]
 
std::map< int, std::complex< double > > m_globalID2NonZeroValues
 
bool m_hasIDsGlobal2AfterDegenerated [2]
 
std::map< int, int > m_globalIDSlave2Master [2]
 
ComplexSparseSquareSymmetricMatrix m_matrix3DAnalysis
 
bool m_hasMatrixStructureSetAndAnalyzed
 
std::complex< double > * m_solution
 

Constructor & Destructor Documentation

◆ Forward3DTetraElement0thOrder() [1/2]

Forward3DTetraElement0thOrder::Forward3DTetraElement0thOrder ( )

◆ ~Forward3DTetraElement0thOrder()

Forward3DTetraElement0thOrder::~Forward3DTetraElement0thOrder ( )
virtual

◆ Forward3DTetraElement0thOrder() [2/2]

Forward3DTetraElement0thOrder::Forward3DTetraElement0thOrder ( const Forward3DTetraElement0thOrder rhs)
private

Member Function Documentation

◆ calc2DJacobianMatrix()

void Forward3DTetraElement0thOrder::calc2DJacobianMatrix ( const int  elemID,
const int  faceID,
Forward3D::Matrix2x2 JacobMat,
double &  determinant 
) const
private

◆ calcArrayConvertIDGlobal2NonZeroValues()

void Forward3DTetraElement0thOrder::calcArrayConvertIDGlobal2NonZeroValues ( )
private

◆ calcArrayConvertIDsGlobal2AfterDegenerated()

void Forward3DTetraElement0thOrder::calcArrayConvertIDsGlobal2AfterDegenerated ( )
private

◆ calcArrayConvertLocalID2Global()

void Forward3DTetraElement0thOrder::calcArrayConvertLocalID2Global ( )
private

◆ calcDeterminant()

double Forward3DTetraElement0thOrder::calcDeterminant ( const double *  rowVec0,
const double *  rowVec1,
const double *  rowVec2,
const int  icol 
) const
private

◆ calcInclinationsOfElementFace()

void Forward3DTetraElement0thOrder::calcInclinationsOfElementFace ( const int  elemID,
const int  faceID,
double &  dLengdX,
double &  dLengdY 
) const
private

◆ calcIntegrals()

void Forward3DTetraElement0thOrder::calcIntegrals ( const int  elemID,
double *  eMat,
double *  fMat 
) const
private

◆ calcInterpolatorVectorOfElectricFieldTangentialX()

void Forward3DTetraElement0thOrder::calcInterpolatorVectorOfElectricFieldTangentialX ( const int  iElem,
const int  iFace,
const double  uCoord,
const double  vCoord,
const int  irhs,
const std::complex< double > &  factor = std::complex<double>(1.0,0.0) 
)
virtual

Implements Forward3D.

◆ calcInterpolatorVectorOfElectricFieldTangentialXFromAllEdges()

void Forward3DTetraElement0thOrder::calcInterpolatorVectorOfElectricFieldTangentialXFromAllEdges ( const int  iElem,
const int  iFace,
const double  xLocal,
const double  yLocal,
const double  zLocal,
const int  irhs,
const std::complex< double > &  factor = std::complex<double>(1.0,0.0) 
)
virtual

Implements Forward3D.

◆ calcInterpolatorVectorOfElectricFieldTangentialY()

void Forward3DTetraElement0thOrder::calcInterpolatorVectorOfElectricFieldTangentialY ( const int  iElem,
const int  iFace,
const double  uCoord,
const double  vCoord,
const int  irhs,
const std::complex< double > &  factor = std::complex<double>(1.0,0.0) 
)
virtual

Implements Forward3D.

◆ calcInterpolatorVectorOfElectricFieldTangentialYFromAllEdges()

void Forward3DTetraElement0thOrder::calcInterpolatorVectorOfElectricFieldTangentialYFromAllEdges ( const int  iElem,
const int  iFace,
const double  xLocal,
const double  yLocal,
const double  zLocal,
const int  irhs,
const std::complex< double > &  factor = std::complex<double>(1.0,0.0) 
)
virtual

Implements Forward3D.

◆ calcInterpolatorVectorOfElectricFieldXDirection()

void Forward3DTetraElement0thOrder::calcInterpolatorVectorOfElectricFieldXDirection ( const int  iElem,
const double  uCoord,
const double  vCoord,
const double  wCoord,
const int  irhs,
const std::complex< double > &  factor = std::complex<double>(1.0,0.0) 
)
virtual

Implements Forward3D.

◆ calcInterpolatorVectorOfElectricFieldXDirectionFromEdgesOnEarthSurface()

void Forward3DTetraElement0thOrder::calcInterpolatorVectorOfElectricFieldXDirectionFromEdgesOnEarthSurface ( const int  iElem,
const int  iFace,
const double  uCoord,
const double  vCoord,
const int  irhs,
const std::complex< double > &  factor = std::complex<double>(1.0,0.0) 
)
virtual

Implements Forward3D.

◆ calcInterpolatorVectorOfElectricFieldYDirection()

void Forward3DTetraElement0thOrder::calcInterpolatorVectorOfElectricFieldYDirection ( const int  iElem,
const double  uCoord,
const double  vCoord,
const double  wCoord,
const int  irhs,
const std::complex< double > &  factor = std::complex<double>(1.0,0.0) 
)
virtual

Implements Forward3D.

◆ calcInterpolatorVectorOfElectricFieldYDirectionFromEdgesOnEarthSurface()

void Forward3DTetraElement0thOrder::calcInterpolatorVectorOfElectricFieldYDirectionFromEdgesOnEarthSurface ( const int  iElem,
const int  iFace,
const double  uCoord,
const double  vCoord,
const int  irhs,
const std::complex< double > &  factor = std::complex<double>(1.0,0.0) 
)
virtual

Implements Forward3D.

◆ calcInterpolatorVectorOfElectricFieldZDirection()

void Forward3DTetraElement0thOrder::calcInterpolatorVectorOfElectricFieldZDirection ( const int  iElem,
const double  uCoord,
const double  vCoord,
const double  wCoord,
const int  irhs,
const std::complex< double > &  factor = std::complex<double>(1.0,0.0) 
)
virtual

Implements Forward3D.

◆ calcInterpolatorVectorOfMagneticFieldXDirection()

void Forward3DTetraElement0thOrder::calcInterpolatorVectorOfMagneticFieldXDirection ( const int  iElem,
const double  uCoord,
const double  vCoord,
const double  wCoord,
const int  irhs,
const std::complex< double > &  factor = std::complex<double>(1.0,0.0) 
)
virtual

Implements Forward3D.

◆ calcInterpolatorVectorOfMagneticFieldYDirection()

void Forward3DTetraElement0thOrder::calcInterpolatorVectorOfMagneticFieldYDirection ( const int  iElem,
const double  uCoord,
const double  vCoord,
const double  wCoord,
const int  irhs,
const std::complex< double > &  factor = std::complex<double>(1.0,0.0) 
)
virtual

Implements Forward3D.

◆ calcInterpolatorVectorOfMagneticFieldZDirection()

void Forward3DTetraElement0thOrder::calcInterpolatorVectorOfMagneticFieldZDirection ( const int  iElem,
const double  uCoord,
const double  vCoord,
const double  wCoord,
const int  irhs,
const std::complex< double > &  factor = std::complex<double>(1.0,0.0) 
)
virtual

Implements Forward3D.

◆ calcInterpolatorVectorOfRotatedElectricFieldNormal()

void Forward3DTetraElement0thOrder::calcInterpolatorVectorOfRotatedElectricFieldNormal ( const int  iElem,
const int  iFace,
const double  uCoord,
const double  vCoord,
const int  irhs,
const std::complex< double > &  factor = std::complex<double>(1.0,0.0) 
)
virtual

◆ calcInterpolatorVectorOfRotatedElectricFieldZDirection()

void Forward3DTetraElement0thOrder::calcInterpolatorVectorOfRotatedElectricFieldZDirection ( const int  iElem,
const double  uCoord,
const double  vCoord,
const double  wCoord,
const int  irhs,
const std::complex< double > &  factor = std::complex<double>(1.0,0.0) 
)
virtual

Implements Forward3D.

◆ calcInterpolatorVectorOfVoltageDifference() [1/2]

void Forward3DTetraElement0thOrder::calcInterpolatorVectorOfVoltageDifference ( const int  nElem,
const int *  elememtsIncludingDipole,
const CommonParameters::locationXY localCoordinateValuesStartPoint,
const CommonParameters::locationXY localCoordinateValuesEndPoint,
const int  irhs 
)
virtual

Implements Forward3D.

◆ calcInterpolatorVectorOfVoltageDifference() [2/2]

void Forward3DTetraElement0thOrder::calcInterpolatorVectorOfVoltageDifference ( const int  nElem,
const int *  elememtsIncludingDipole,
const int *const  facesIncludingDipole,
const CommonParameters::AreaCoords *const  areaCoordValStartPoint,
const CommonParameters::AreaCoords *const  areaCoordValEndPoint,
const int  irhs 
)
virtual

Implements Forward3D.

◆ calcInverseOfJacobianMatrix()

void Forward3DTetraElement0thOrder::calcInverseOfJacobianMatrix ( const Forward3D::Matrix3x3 jacobMat,
Forward3D::Matrix3x3 invJacobMat 
) const
private

◆ calcJacobianMatrix()

void Forward3DTetraElement0thOrder::calcJacobianMatrix ( const int  elemID,
Forward3D::Matrix3x3 JacobMat,
double &  determinant 
) const
private

◆ calcRatioAndReverseFlag()

bool Forward3DTetraElement0thOrder::calcRatioAndReverseFlag ( const int  faceID,
const int  edgeIDLocal2D,
const CommonParameters::AreaCoords startPoint,
const CommonParameters::AreaCoords endPoint,
double &  ratio 
) const
private

Calculate flag of sign inversion. This function used by calcVoltageDifference.

◆ calcValueElectricFieldTangentialX()

std::complex< double > Forward3DTetraElement0thOrder::calcValueElectricFieldTangentialX ( const int  iElem,
const int  iFace,
const double  uCoord,
const double  vCoord 
) const
virtual

Implements Forward3D.

◆ calcValueElectricFieldTangentialXFromAllEdges()

std::complex< double > Forward3DTetraElement0thOrder::calcValueElectricFieldTangentialXFromAllEdges ( const int  iElem,
const int  iFace,
const double  xLocal,
const double  yLocal,
const double  zLocal 
) const
virtual

Implements Forward3D.

◆ calcValueElectricFieldTangentialY()

std::complex< double > Forward3DTetraElement0thOrder::calcValueElectricFieldTangentialY ( const int  iElem,
const int  iFace,
const double  uCoord,
const double  vCoord 
) const
virtual

Implements Forward3D.

◆ calcValueElectricFieldTangentialYFromAllEdges()

std::complex< double > Forward3DTetraElement0thOrder::calcValueElectricFieldTangentialYFromAllEdges ( const int  iElem,
const int  iFace,
const double  xLocal,
const double  yLocal,
const double  zLocal 
) const
virtual

Implements Forward3D.

◆ calcValueElectricFieldXDirection()

std::complex< double > Forward3DTetraElement0thOrder::calcValueElectricFieldXDirection ( const int  iElem,
const double  uCoord,
const double  vCoord,
const double  wCoord 
) const
virtual

Implements Forward3D.

◆ calcValueElectricFieldXDirectionFromEdgesOnEarthSurface()

std::complex< double > Forward3DTetraElement0thOrder::calcValueElectricFieldXDirectionFromEdgesOnEarthSurface ( const int  iElem,
const int  iFace,
const double  uCoord,
const double  vCoord 
) const
virtual

Implements Forward3D.

◆ calcValueElectricFieldYDirection()

std::complex< double > Forward3DTetraElement0thOrder::calcValueElectricFieldYDirection ( const int  iElem,
const double  uCoord,
const double  vCoord,
const double  wCoord 
) const
virtual

Implements Forward3D.

◆ calcValueElectricFieldYDirectionFromEdgesOnEarthSurface()

std::complex< double > Forward3DTetraElement0thOrder::calcValueElectricFieldYDirectionFromEdgesOnEarthSurface ( const int  iElem,
const int  iFace,
const double  uCoord,
const double  vCoord 
) const
virtual

Implements Forward3D.

◆ calcValueElectricFieldZDirection()

std::complex< double > Forward3DTetraElement0thOrder::calcValueElectricFieldZDirection ( const int  iElem,
const double  uCoord,
const double  vCoord,
const double  wCoord 
) const
virtual

Implements Forward3D.

◆ calcValueMagneticFieldXDirection()

std::complex< double > Forward3DTetraElement0thOrder::calcValueMagneticFieldXDirection ( const int  iElem,
const double  uCoord,
const double  vCoord,
const double  wCoord 
) const
virtual

Implements Forward3D.

◆ calcValueMagneticFieldYDirection()

std::complex< double > Forward3DTetraElement0thOrder::calcValueMagneticFieldYDirection ( const int  iElem,
const double  uCoord,
const double  vCoord,
const double  wCoord 
) const
virtual

Implements Forward3D.

◆ calcValueMagneticFieldZDirection()

std::complex< double > Forward3DTetraElement0thOrder::calcValueMagneticFieldZDirection ( const int  iElem,
const double  uCoord,
const double  vCoord,
const double  wCoord 
) const
virtual

Implements Forward3D.

◆ calcValueRotatedElectricFieldNormal()

std::complex< double > Forward3DTetraElement0thOrder::calcValueRotatedElectricFieldNormal ( const int  iElem,
const int  iFace,
const double  uCoord,
const double  vCoord 
) const
virtual

◆ calcValueRotatedElectricFieldZDirection()

std::complex< double > Forward3DTetraElement0thOrder::calcValueRotatedElectricFieldZDirection ( const int  iElem,
const double  uCoord,
const double  vCoord,
const double  wCoord 
) const
virtual

Implements Forward3D.

◆ calcVoltageDifference() [1/2]

std::complex< double > Forward3DTetraElement0thOrder::calcVoltageDifference ( const int  nElem,
const int *const  elememtsIncludingDipole,
const int *const  facesIncludingDipole,
const CommonParameters::AreaCoords *const  areaCoordValStartPoint,
const CommonParameters::AreaCoords *const  areaCoordValEndPoint 
) const
virtual

if( ( edgeIDLocal2D[0] == 0 && edgeIDLocal2D[1] == 1 ) || ( edgeIDLocal2D[0] == 1 && edgeIDLocal2D[1] == 0 ) ){ / sharedNodeIDLocal2D = 1;

}else if( ( edgeIDLocal2D[0] == 1 && edgeIDLocal2D[1] == 2 ) || ( edgeIDLocal2D[0] == 2 && edgeIDLocal2D[1] == 1 ) ){ / sharedNodeIDLocal2D = 2;

}else if( ( edgeIDLocal2D[0] == 2 && edgeIDLocal2D[1] == 0 ) || ( edgeIDLocal2D[0] == 0 && edgeIDLocal2D[1] == 2 ) ){ / sharedNodeIDLocal2D = 0;

Implements Forward3D.

◆ calcVoltageDifference() [2/2]

std::complex< double > Forward3DTetraElement0thOrder::calcVoltageDifference ( const int  nElem,
const int *  elememtsIncludingDipole,
const CommonParameters::locationXY localCoordinateValuesStartPoint,
const CommonParameters::locationXY localCoordinateValuesEndPoint 
) const
virtual

Implements Forward3D.

◆ callInputMeshData()

void Forward3DTetraElement0thOrder::callInputMeshData ( )
virtual

Implements Forward3D.

◆ calVectorXOfReciprocityAlgorithm()

**void Forward3DTetraElement0thOrder::calVectorXOfReciprocityAlgorithm ( const std::complex< double > *const  vecIn,
const int  blkID,
std::complex< double > *const  vecOut,
std::vector< int > &  nonZeroRows 
)
virtual

Set non-zero values of matrix and right-hande side vector for calculating derivatives

Implements Forward3D.

◆ forwardCalculation()

void Forward3DTetraElement0thOrder::forwardCalculation ( const double  freq,
const int  iPol 
)
virtual

Implements Forward3D.

◆ get2DShapeFuncReferenceCoordU()

double Forward3DTetraElement0thOrder::get2DShapeFuncReferenceCoordU ( const double  uLocal,
const double  vLocal,
const int  num 
) const
inlineprivate

◆ get2DShapeFuncReferenceCoordV()

double Forward3DTetraElement0thOrder::get2DShapeFuncReferenceCoordV ( const double  uLocal,
const double  vLocal,
const int  num 
) const
inlineprivate

◆ get2DShapeFuncRotated()

double Forward3DTetraElement0thOrder::get2DShapeFuncRotated ( ) const
inlineprivate

◆ getPointerToMeshData()

const MeshData * Forward3DTetraElement0thOrder::getPointerToMeshData ( ) const
virtual

Implements Forward3D.

◆ getPointerToMeshDataTetraElement()

const MeshDataTetraElement * Forward3DTetraElement0thOrder::getPointerToMeshDataTetraElement ( ) const

◆ getShapeFuncReferenceCoordU()

double Forward3DTetraElement0thOrder::getShapeFuncReferenceCoordU ( const double  uLocal,
const double  vLocal,
const double  wLocal,
const int  num 
) const
inlineprivate

◆ getShapeFuncReferenceCoordV()

double Forward3DTetraElement0thOrder::getShapeFuncReferenceCoordV ( const double  uLocal,
const double  vLocal,
const double  wLocal,
const int  num 
) const
inlineprivate

◆ getShapeFuncReferenceCoordW()

double Forward3DTetraElement0thOrder::getShapeFuncReferenceCoordW ( const double  uLocal,
const double  vLocal,
const double  wLocal,
const int  num 
) const
inlineprivate

◆ getShapeFuncRotatedReferenceCoordU()

double Forward3DTetraElement0thOrder::getShapeFuncRotatedReferenceCoordU ( const int  num) const
inlineprivate

◆ getShapeFuncRotatedReferenceCoordV()

double Forward3DTetraElement0thOrder::getShapeFuncRotatedReferenceCoordV ( const int  num) const
inlineprivate

◆ getShapeFuncRotatedReferenceCoordW()

double Forward3DTetraElement0thOrder::getShapeFuncRotatedReferenceCoordW ( const int  num) const
inlineprivate

◆ operator=()

Forward3DTetraElement0thOrder& Forward3DTetraElement0thOrder::operator= ( const Forward3DTetraElement0thOrder rhs)
private

◆ outputResultToBinary()

void Forward3DTetraElement0thOrder::outputResultToBinary ( const int  iFreq,
const int  iPol 
) const
privatevirtual

◆ outputResultToVTK()

void Forward3DTetraElement0thOrder::outputResultToVTK ( ) const
privatevirtual

Implements Forward3D.

◆ setNonZeroStrucuture()

void Forward3DTetraElement0thOrder::setNonZeroStrucuture ( ComplexSparseSquareSymmetricMatrix matrix)
virtual

Implements Forward3D.

◆ setNonZeroValues()

void Forward3DTetraElement0thOrder::setNonZeroValues ( ComplexSparseSquareSymmetricMatrix matrix)
virtual

Implements Forward3D.

Member Data Documentation

◆ DIRICHLET_BOUNDARY_NONZERO_VALUE

const int Forward3DTetraElement0thOrder::DIRICHLET_BOUNDARY_NONZERO_VALUE = -1
staticprivate

◆ DIRICHLET_BOUNDARY_ZERO_VALUE

const int Forward3DTetraElement0thOrder::DIRICHLET_BOUNDARY_ZERO_VALUE = -2
staticprivate

◆ m_eps

const double Forward3DTetraElement0thOrder::m_eps = 1.0e-12
staticprivate

◆ m_Fwd2DTriangleElement

Forward2DTriangleElement0thOrderEdgeBased* Forward3DTetraElement0thOrder::m_Fwd2DTriangleElement[4]
private

◆ m_MeshDataTetraElement

MeshDataTetraElement Forward3DTetraElement0thOrder::m_MeshDataTetraElement
private

◆ m_numIntegralPoints

const int Forward3DTetraElement0thOrder::m_numIntegralPoints = 4
staticprivate

◆ m_signInversion

bool** Forward3DTetraElement0thOrder::m_signInversion
private

◆ m_uCoord

double Forward3DTetraElement0thOrder::m_uCoord[m_numIntegralPoints]
private

◆ m_vCoord

double Forward3DTetraElement0thOrder::m_vCoord[m_numIntegralPoints]
private

◆ m_wCoord

double Forward3DTetraElement0thOrder::m_wCoord[m_numIntegralPoints]
private

◆ m_weights

double Forward3DTetraElement0thOrder::m_weights[m_numIntegralPoints]
private

The documentation for this class was generated from the following files: