24 #ifndef DBLDEF_FORWARD_3D_TETRA_ELEMENT_0TH_ORDER
25 #define DBLDEF_FORWARD_3D_TETRA_ELEMENT_0TH_ORDER
89 virtual std::complex<double>
calcVoltageDifference(
const int nElem,
const int* elememtsIncludingDipole,
93 virtual std::complex<double>
calcVoltageDifference(
const int nElem,
const int*
const elememtsIncludingDipole,
const int*
const facesIncludingDipole,
160 virtual void calVectorXOfReciprocityAlgorithm(
const std::complex<double>*
const vecIn,
const int blkID, std::complex<double>*
const vecOut, std::vector<int>& nonZeroRows );
269 void calcIntegrals(
const int elemID,
double* eMat,
double* fMat )
const;
272 double calcDeterminant(
const double* rowVec0,
const double* rowVec1,
const double* rowVec2,
const int icol )
const;
Definition: ComplexSparseSquareSymmetricMatrix.h:32
Definition: Forward2DTriangleElement0thOrderEdgeBased.h:30
Definition: Forward3DTetraElement0thOrder.h:33
void calcJacobianMatrix(const int elemID, Forward3D::Matrix3x3 &JacobMat, double &determinant) const
Definition: Forward3DTetraElement0thOrder.cpp:3699
virtual std::complex< double > calcValueElectricFieldYDirectionFromEdgesOnEarthSurface(const int iElem, const int iFace, const double uCoord, const double vCoord) const
Definition: Forward3DTetraElement0thOrder.cpp:473
double m_uCoord[m_numIntegralPoints]
Definition: Forward3DTetraElement0thOrder.h:179
void calcIntegrals(const int elemID, double *eMat, double *fMat) const
Definition: Forward3DTetraElement0thOrder.cpp:4515
Forward2DTriangleElement0thOrderEdgeBased * m_Fwd2DTriangleElement[4]
Definition: Forward3DTetraElement0thOrder.h:197
virtual const MeshData * getPointerToMeshData() const
Definition: Forward3DTetraElement0thOrder.cpp:3022
double m_weights[m_numIntegralPoints]
Definition: Forward3DTetraElement0thOrder.h:185
bool calcRatioAndReverseFlag(const int faceID, const int edgeIDLocal2D, const CommonParameters::AreaCoords &startPoint, const CommonParameters::AreaCoords &endPoint, double &ratio) const
Definition: Forward3DTetraElement0thOrder.cpp:3897
double getShapeFuncReferenceCoordU(const double uLocal, const double vLocal, const double wLocal, const int num) const
Definition: Forward3DTetraElement0thOrder.cpp:3450
void calcArrayConvertIDsGlobal2AfterDegenerated()
Definition: Forward3DTetraElement0thOrder.cpp:3164
virtual void calcInterpolatorVectorOfVoltageDifference(const int nElem, const int *elememtsIncludingDipole, const CommonParameters::locationXY *localCoordinateValuesStartPoint, const CommonParameters::locationXY *localCoordinateValuesEndPoint, const int irhs)
Definition: Forward3DTetraElement0thOrder.cpp:1739
double calcDeterminant(const double *rowVec0, const double *rowVec1, const double *rowVec2, const int icol) const
Definition: Forward3DTetraElement0thOrder.cpp:4648
virtual void setNonZeroValues(ComplexSparseSquareSymmetricMatrix &matrix)
Definition: Forward3DTetraElement0thOrder.cpp:1997
void calcInclinationsOfElementFace(const int elemID, const int faceID, double &dLengdX, double &dLengdY) const
Definition: Forward3DTetraElement0thOrder.cpp:3773
double getShapeFuncRotatedReferenceCoordV(const int num) const
Definition: Forward3DTetraElement0thOrder.cpp:3636
virtual std::complex< double > calcValueMagneticFieldZDirection(const int iElem, const double uCoord, const double vCoord, const double wCoord) const
Definition: Forward3DTetraElement0thOrder.cpp:730
double get2DShapeFuncRotated() const
Definition: Forward3DTetraElement0thOrder.cpp:3600
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))
Definition: Forward3DTetraElement0thOrder.cpp:1368
virtual void forwardCalculation(const double freq, const int iPol)
Definition: Forward3DTetraElement0thOrder.cpp:137
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))
Definition: Forward3DTetraElement0thOrder.cpp:1116
double getShapeFuncReferenceCoordW(const double uLocal, const double vLocal, const double wLocal, const int num) const
Definition: Forward3DTetraElement0thOrder.cpp:3518
static const int DIRICHLET_BOUNDARY_ZERO_VALUE
Definition: Forward3DTetraElement0thOrder.h:175
virtual void calVectorXOfReciprocityAlgorithm(const std::complex< double > *const vecIn, const int blkID, std::complex< double > *const vecOut, std::vector< int > &nonZeroRows)
Definition: Forward3DTetraElement0thOrder.cpp:2786
const MeshDataTetraElement * getPointerToMeshDataTetraElement() const
Definition: Forward3DTetraElement0thOrder.cpp:3027
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))
Definition: Forward3DTetraElement0thOrder.cpp:1353
Forward3DTetraElement0thOrder & operator=(const Forward3DTetraElement0thOrder &rhs)
void calc2DJacobianMatrix(const int elemID, const int faceID, Forward3D::Matrix2x2 &JacobMat, double &determinant) const
Definition: Forward3DTetraElement0thOrder.cpp:3745
double m_wCoord[m_numIntegralPoints]
Definition: Forward3DTetraElement0thOrder.h:183
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))
Definition: Forward3DTetraElement0thOrder.cpp:1397
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))
Definition: Forward3DTetraElement0thOrder.cpp:1499
virtual void outputResultToVTK() const
Definition: Forward3DTetraElement0thOrder.cpp:4052
virtual std::complex< double > calcValueElectricFieldXDirection(const int iElem, const double uCoord, const double vCoord, const double wCoord) const
Definition: Forward3DTetraElement0thOrder.cpp:327
double get2DShapeFuncReferenceCoordV(const double uLocal, const double vLocal, const int num) const
Definition: Forward3DTetraElement0thOrder.cpp:3576
void calcArrayConvertLocalID2Global()
Definition: Forward3DTetraElement0thOrder.cpp:3033
double get2DShapeFuncReferenceCoordU(const double uLocal, const double vLocal, const int num) const
Definition: Forward3DTetraElement0thOrder.cpp:3552
virtual void outputResultToBinary(const int iFreq, const int iPol) const
Definition: Forward3DTetraElement0thOrder.cpp:4220
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))
Definition: Forward3DTetraElement0thOrder.cpp:1448
virtual std::complex< double > calcValueMagneticFieldXDirection(const int iElem, const double uCoord, const double vCoord, const double wCoord) const
Definition: Forward3DTetraElement0thOrder.cpp:650
double getShapeFuncRotatedReferenceCoordW(const int num) const
Definition: Forward3DTetraElement0thOrder.cpp:3668
virtual void setNonZeroStrucuture(ComplexSparseSquareSymmetricMatrix &matrix)
Definition: Forward3DTetraElement0thOrder.cpp:1929
virtual std::complex< double > calcValueElectricFieldXDirectionFromEdgesOnEarthSurface(const int iElem, const int iFace, const double uCoord, const double vCoord) const
Definition: Forward3DTetraElement0thOrder.cpp:458
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))
Definition: Forward3DTetraElement0thOrder.cpp:1337
virtual std::complex< double > calcValueElectricFieldTangentialYFromAllEdges(const int iElem, const int iFace, const double xLocal, const double yLocal, const double zLocal) const
Definition: Forward3DTetraElement0thOrder.cpp:501
virtual ~Forward3DTetraElement0thOrder()
Definition: Forward3DTetraElement0thOrder.cpp:113
static const double m_eps
Definition: Forward3DTetraElement0thOrder.h:187
double m_vCoord[m_numIntegralPoints]
Definition: Forward3DTetraElement0thOrder.h:181
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))
Definition: Forward3DTetraElement0thOrder.cpp:1532
static const int DIRICHLET_BOUNDARY_NONZERO_VALUE
Definition: Forward3DTetraElement0thOrder.h:173
virtual std::complex< double > calcValueElectricFieldZDirection(const int iElem, const double uCoord, const double vCoord, const double wCoord) const
Definition: Forward3DTetraElement0thOrder.cpp:413
virtual void callInputMeshData()
Definition: Forward3DTetraElement0thOrder.cpp:3019
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))
Definition: Forward3DTetraElement0thOrder.cpp:1383
static const int m_numIntegralPoints
Definition: Forward3DTetraElement0thOrder.h:177
double getShapeFuncReferenceCoordV(const double uLocal, const double vLocal, const double wLocal, const int num) const
Definition: Forward3DTetraElement0thOrder.cpp:3484
virtual std::complex< double > calcValueElectricFieldTangentialXFromAllEdges(const int iElem, const int iFace, const double xLocal, const double yLocal, const double zLocal) const
Definition: Forward3DTetraElement0thOrder.cpp:487
virtual std::complex< double > calcValueElectricFieldTangentialY(const int iElem, const int iFace, const double uCoord, const double vCoord) const
Definition: Forward3DTetraElement0thOrder.cpp:550
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))
Definition: Forward3DTetraElement0thOrder.cpp:1039
virtual std::complex< double > calcValueElectricFieldYDirection(const int iElem, const double uCoord, const double vCoord, const double wCoord) const
Definition: Forward3DTetraElement0thOrder.cpp:370
double getShapeFuncRotatedReferenceCoordU(const int num) const
Definition: Forward3DTetraElement0thOrder.cpp:3604
Forward3DTetraElement0thOrder(const Forward3DTetraElement0thOrder &rhs)
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))
Definition: Forward3DTetraElement0thOrder.cpp:1192
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))
Definition: Forward3DTetraElement0thOrder.cpp:1603
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))
Definition: Forward3DTetraElement0thOrder.cpp:1268
virtual std::complex< double > calcValueMagneticFieldYDirection(const int iElem, const double uCoord, const double vCoord, const double wCoord) const
Definition: Forward3DTetraElement0thOrder.cpp:690
virtual std::complex< double > calcValueElectricFieldTangentialX(const int iElem, const int iFace, const double uCoord, const double vCoord) const
Definition: Forward3DTetraElement0thOrder.cpp:514
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))
Definition: Forward3DTetraElement0thOrder.cpp:1674
bool ** m_signInversion
Definition: Forward3DTetraElement0thOrder.h:201
Forward3DTetraElement0thOrder()
Definition: Forward3DTetraElement0thOrder.cpp:42
void calcInverseOfJacobianMatrix(const Forward3D::Matrix3x3 &jacobMat, Forward3D::Matrix3x3 &invJacobMat) const
Definition: Forward3DTetraElement0thOrder.cpp:3808
void calcArrayConvertIDGlobal2NonZeroValues()
Definition: Forward3DTetraElement0thOrder.cpp:3288
virtual std::complex< double > calcValueRotatedElectricFieldZDirection(const int iElem, const double uCoord, const double vCoord, const double wCoord) const
Definition: Forward3DTetraElement0thOrder.cpp:586
MeshDataTetraElement m_MeshDataTetraElement
Definition: Forward3DTetraElement0thOrder.h:199
virtual std::complex< double > calcVoltageDifference(const int nElem, const int *elememtsIncludingDipole, const CommonParameters::locationXY *localCoordinateValuesStartPoint, const CommonParameters::locationXY *localCoordinateValuesEndPoint) const
Definition: Forward3DTetraElement0thOrder.cpp:792
virtual std::complex< double > calcValueRotatedElectricFieldNormal(const int iElem, const int iFace, const double uCoord, const double vCoord) const
Definition: Forward3DTetraElement0thOrder.cpp:620
Definition: Forward3D.h:37
Definition: MeshDataTetraElement.h:32
Definition: MeshData.h:31
Definition: CommonParameters.h:99
Definition: CommonParameters.h:38
Definition: Forward3D.h:200
Definition: Forward3D.h:207