24 #ifndef DBLDEF_FORWARD_3D_BRICK_ELEMENT_0TH_ORDER
25 #define DBLDEF_FORWARD_3D_BRICK_ELEMENT_0TH_ORDER
85 virtual std::complex<double>
calcVoltageDifference(
const int nElem,
const int* elememtsIncludingDipole,
89 virtual std::complex<double>
calcVoltageDifference(
const int nElem,
const int*
const elememtsIncludingDipole,
const int*
const facesIncludingDipole,
153 virtual void calVectorXOfReciprocityAlgorithm(
const std::complex<double>*
const vecIn,
const int blkID, std::complex<double>*
const vecOut, std::vector<int>& nonZeroRows );
196 inline double getShapeFuncX(
const double xLocal,
const double yLocal,
const double zLocal,
const int num )
const;
199 inline double getShapeFuncY(
const double xLocal,
const double yLocal,
const double zLocal,
const int num )
const;
202 inline double getShapeFuncZ(
const double xLocal,
const double yLocal,
const double zLocal,
const int num )
const;
205 inline double getShapeFuncRotatedX(
const double xLocal,
const double yLocal,
const double zLocal,
206 const double lx,
const double ly,
const double lz,
const int num )
const;
209 inline double getShapeFuncRotatedY(
const double xLocal,
const double yLocal,
const double zLocal,
210 const double lx,
const double ly,
const double lz,
const int num )
const;
213 inline double getShapeFuncRotatedZ(
const double xLocal,
const double yLocal,
const double zLocal,
214 const double lx,
const double ly,
const double lz,
const int num )
const;
233 bool& rotationDirectionPlus )
const;
Definition: ComplexSparseSquareSymmetricMatrix.h:32
Definition: Forward2DSquareElement.h:31
Definition: Forward3DBrickElement0thOrder.h:33
bool doesIntegralXCompFirst(const CommonParameters::locationXY &startPoint, const CommonParameters::locationXY &endPoint, bool &rotationDirectionPlus) const
Definition: Forward3DBrickElement0thOrder.cpp:2812
double m_zLocal[m_numIntegralPoints]
Definition: Forward3DBrickElement0thOrder.h:179
virtual ~Forward3DBrickElement0thOrder()
Definition: Forward3DBrickElement0thOrder.cpp:79
static const int DIRICHLET_BOUNDARY_NONZERO_VALUE
Definition: Forward3DBrickElement0thOrder.h:167
void calcArrayConvertIDsGlobal2AfterDegenerated()
Definition: Forward3DBrickElement0thOrder.cpp:2143
virtual void calcInterpolatorVectorOfElectricFieldZDirection(const int iElem, 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: Forward3DBrickElement0thOrder.cpp:915
virtual void calcInterpolatorVectorOfRotatedElectricFieldZDirection(const int iElem, 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: Forward3DBrickElement0thOrder.cpp:955
virtual std::complex< double > calcValueRotatedElectricFieldZDirection(const int iElem, const double xLocal, const double yLocal, const double zLocal) const
Definition: Forward3DBrickElement0thOrder.cpp:396
virtual std::complex< double > calcValueElectricFieldTangentialX(const int iElem, const int iFace, const double uCoord, const double vCoord) const
Definition: Forward3DBrickElement0thOrder.cpp:455
Forward3DBrickElement0thOrder(const Forward3DBrickElement0thOrder &rhs)
virtual std::complex< double > calcValueElectricFieldXDirection(const int iElem, const double xLocal, const double yLocal, const double zLocal) const
Definition: Forward3DBrickElement0thOrder.cpp:291
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: Forward3DBrickElement0thOrder.cpp:1024
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: Forward3DBrickElement0thOrder.cpp:1015
virtual void outputResultToBinary(const int iFreq, const int iPol) const
Definition: Forward3DBrickElement0thOrder.cpp:3049
virtual std::complex< double > calcValueElectricFieldZDirection(const int iElem, const double xLocal, const double yLocal, const double zLocal) const
Definition: Forward3DBrickElement0thOrder.cpp:361
virtual void calcInterpolatorVectorOfMagneticFieldZDirection(const int iElem, 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: Forward3DBrickElement0thOrder.cpp:1139
virtual std::complex< double > calcValueMagneticFieldZDirection(const int iElem, const double xLocal, const double yLocal, const double zLocal) const
Definition: Forward3DBrickElement0thOrder.cpp:561
virtual void calcInterpolatorVectorOfMagneticFieldYDirection(const int iElem, 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: Forward3DBrickElement0thOrder.cpp:1091
void renumberNodes()
Definition: Forward3DBrickElement0thOrder.cpp:2601
double getShapeFuncX(const double xLocal, const double yLocal, const double zLocal, const int num) const
Definition: Forward3DBrickElement0thOrder.cpp:1767
virtual std::complex< double > calcValueMagneticFieldYDirection(const int iElem, const double xLocal, const double yLocal, const double zLocal) const
Definition: Forward3DBrickElement0thOrder.cpp:516
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: Forward3DBrickElement0thOrder.cpp:1033
virtual void forwardCalculation(const double freq, const int iPol)
Definition: Forward3DBrickElement0thOrder.cpp:90
double m_xLocal[m_numIntegralPoints]
Definition: Forward3DBrickElement0thOrder.h:175
const MeshDataBrickElement * getPointerToMeshDataBrickElement() const
Definition: Forward3DBrickElement0thOrder.cpp:1760
virtual std::complex< double > calcValueElectricFieldYDirection(const int iElem, const double xLocal, const double yLocal, const double zLocal) const
Definition: Forward3DBrickElement0thOrder.cpp:326
Forward3DBrickElement0thOrder()
Definition: Forward3DBrickElement0thOrder.cpp:46
virtual void calcInterpolatorVectorOfElectricFieldYDirection(const int iElem, 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: Forward3DBrickElement0thOrder.cpp:875
virtual std::complex< double > calcValueElectricFieldTangentialXFromAllEdges(const int iElem, const int iFace, const double xLocal, const double yLocal, const double zLocal) const
Definition: Forward3DBrickElement0thOrder.cpp:439
double getShapeFuncRotatedZ(const double xLocal, const double yLocal, const double zLocal, const double lx, const double ly, const double lz, const int num) const
Definition: Forward3DBrickElement0thOrder.cpp:2009
double getShapeFuncZ(const double xLocal, const double yLocal, const double zLocal, const int num) const
Definition: Forward3DBrickElement0thOrder.cpp:1863
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: Forward3DBrickElement0thOrder.cpp:1006
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: Forward3DBrickElement0thOrder.cpp:988
virtual std::complex< double > calcValueElectricFieldYDirectionFromEdgesOnEarthSurface(const int iElem, const int iFace, const double uCoord, const double vCoord) const
Definition: Forward3DBrickElement0thOrder.cpp:431
Forward2DSquareElement * m_Fwd2DSquareElement[4]
Definition: Forward3DBrickElement0thOrder.h:193
virtual void calcInterpolatorVectorOfElectricFieldXDirection(const int iElem, 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: Forward3DBrickElement0thOrder.cpp:835
double m_weights3D[m_numIntegralPoints]
Definition: Forward3DBrickElement0thOrder.h:181
virtual void callInputMeshData()
Definition: Forward3DBrickElement0thOrder.cpp:1746
virtual void outputResultToVTK() const
Definition: Forward3DBrickElement0thOrder.cpp:2965
MeshDataBrickElement m_MeshDataBrickElement
Definition: Forward3DBrickElement0thOrder.h:183
double getShapeFuncRotatedX(const double xLocal, const double yLocal, const double zLocal, const double lx, const double ly, const double lz, const int num) const
Definition: Forward3DBrickElement0thOrder.cpp:1911
virtual std::complex< double > calcValueElectricFieldTangentialYFromAllEdges(const int iElem, const int iFace, const double xLocal, const double yLocal, const double zLocal) const
Definition: Forward3DBrickElement0thOrder.cpp:447
double m_yLocal[m_numIntegralPoints]
Definition: Forward3DBrickElement0thOrder.h:177
virtual std::complex< double > calcValueMagneticFieldXDirection(const int iElem, const double xLocal, const double yLocal, const double zLocal) const
Definition: Forward3DBrickElement0thOrder.cpp:471
virtual void calcInterpolatorVectorOfMagneticFieldXDirection(const int iElem, 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: Forward3DBrickElement0thOrder.cpp:1042
void calcArrayConvertLocalID2Global()
Definition: Forward3DBrickElement0thOrder.cpp:2058
virtual std::complex< double > calcValueElectricFieldXDirectionFromEdgesOnEarthSurface(const int iElem, const int iFace, const double uCoord, const double vCoord) const
Definition: Forward3DBrickElement0thOrder.cpp:423
virtual void calVectorXOfReciprocityAlgorithm(const std::complex< double > *const vecIn, const int blkID, std::complex< double > *const vecOut, std::vector< int > &nonZeroRows)
Definition: Forward3DBrickElement0thOrder.cpp:1624
virtual const MeshData * getPointerToMeshData() const
Definition: Forward3DBrickElement0thOrder.cpp:1753
virtual void calcInterpolatorVectorOfVoltageDifference(const int nElem, const int *elememtsIncludingDipole, const CommonParameters::locationXY *localCoordinateValuesStartPoint, const CommonParameters::locationXY *localCoordinateValuesEndPoint, const int irhs)
Definition: Forward3DBrickElement0thOrder.cpp:1177
Forward3DBrickElement0thOrder & operator=(const Forward3DBrickElement0thOrder &rhs)
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: Forward3DBrickElement0thOrder.cpp:997
double getShapeFuncRotatedY(const double xLocal, const double yLocal, const double zLocal, const double lx, const double ly, const double lz, const int num) const
Definition: Forward3DBrickElement0thOrder.cpp:1960
virtual std::complex< double > calcVoltageDifference(const int nElem, const int *elememtsIncludingDipole, const CommonParameters::locationXY *localCoordinateValuesStartPoint, const CommonParameters::locationXY *localCoordinateValuesEndPoint) const
Definition: Forward3DBrickElement0thOrder.cpp:596
virtual void setNonZeroStrucuture(ComplexSparseSquareSymmetricMatrix &matrix)
Definition: Forward3DBrickElement0thOrder.cpp:1235
virtual std::complex< double > calcValueElectricFieldTangentialY(const int iElem, const int iFace, const double uCoord, const double vCoord) const
Definition: Forward3DBrickElement0thOrder.cpp:463
static const int DIRICHLET_BOUNDARY_ZERO_VALUE
Definition: Forward3DBrickElement0thOrder.h:169
static const int m_numIntegralPoints
Definition: Forward3DBrickElement0thOrder.h:173
double getShapeFuncY(const double xLocal, const double yLocal, const double zLocal, const int num) const
Definition: Forward3DBrickElement0thOrder.cpp:1815
virtual void setNonZeroValues(ComplexSparseSquareSymmetricMatrix &matrix)
Definition: Forward3DBrickElement0thOrder.cpp:1294
static const int m_numGauss
Definition: Forward3DBrickElement0thOrder.h:171
void calcArrayConvertIDGlobal2NonZeroValues()
Definition: Forward3DBrickElement0thOrder.cpp:2431
Definition: Forward3D.h:37
Definition: MeshDataBrickElement.h:31
Definition: MeshData.h:31
Definition: CommonParameters.h:99
Definition: CommonParameters.h:38