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

#include <Forward2DTriangleElement0thOrderEdgeBased.h>

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

Public Member Functions

 Forward2DTriangleElement0thOrderEdgeBased (const int planeID, const int iPol)
 
 ~Forward2DTriangleElement0thOrderEdgeBased ()
 
virtual void calcEMFieldsOfBoundaryPlanes (const double freq, const MeshDataTetraElement *const pMeshData)
 
- Public Member Functions inherited from Forward2DTriangleElementEdgeBased
 Forward2DTriangleElementEdgeBased (const int planeID, const int iPol)
 
 ~Forward2DTriangleElementEdgeBased ()
 
- Public Member Functions inherited from Forward2DTriangleElement
 Forward2DTriangleElement (const int planeID, const int iPol)
 
 ~Forward2DTriangleElement ()
 
- Public Member Functions inherited from Forward2D
 Forward2D (const int planeID, const int iPol)
 
 ~Forward2D ()
 
std::complex< double > getSolutionDirectly (const int freedum) const
 
std::complex< double > getSolutionFromLocalID (const int iElem, const int localID) const
 

Private Member Functions

 Forward2DTriangleElement0thOrderEdgeBased ()
 
 Forward2DTriangleElement0thOrderEdgeBased (const Forward2DTriangleElement0thOrderEdgeBased &rhs)
 
Forward2DTriangleElement0thOrderEdgeBasedoperator= (const Forward2DTriangleElement0thOrderEdgeBased &rhs)
 
void calcArrayConvertLocalID2Global (const MeshDataTetraElement *const pMeshData)
 
int getTypeOfOuterEdgeOfBoundaryPlanes (const int elemIDLocal2D, const int edgeIDLocal2D, const MeshDataTetraElement *const pMeshDataTetraElement) const
 
double getShapeFuncReferenceCoordU (const double uLocal, const double vLocal, const int num) const
 
double getShapeFuncReferenceCoordV (const double uLocal, const double vLocal, const int num) const
 
double getShapeFuncRotated () const
 
virtual std::complex< double > calcValueElectricFieldHorizontal (const int iElem, const double uCoord, const double vCoord, const MeshDataTetraElement *const pMeshDataTetraElement) const
 
virtual std::complex< double > calcValueElectricFieldVertical (const int iElem, const double uCoord, const double vCoord, const MeshDataTetraElement *const pMeshDataTetraElement) const
 
virtual std::complex< double > calcValueMagneticFieldPerpendicular (const double freq, const int iElem, const double uCoord, const double vCoord, const MeshDataTetraElement *const pMeshDataTetraElement) const
 
void calcJacobianMatrixOnZXPlaneOfBoundary (const MeshDataTetraElement *const pMeshDataTetraElement, const int elemID2D, Forward2DTriangleElementEdgeBased::JacobianMatrix &JacobMat, double &determinant) const
 
void calcJacobianMatrixOnYZPlaneOfBoundary (const MeshDataTetraElement *const pMeshDataTetraElement, const int elemID2D, Forward2DTriangleElementEdgeBased::JacobianMatrix &JacobMat, double &determinant) const
 

Private Attributes

double m_uCoord [m_numIntegralPoints]
 
double m_vCoord [m_numIntegralPoints]
 
double m_weight [m_numIntegralPoints]
 

Static Private Attributes

static const int DIRICHLET_BOUNDARY_NONZERO_VALUE = -1
 
static const int DIRICHLET_BOUNDARY_ZERO_VALUE = -2
 
static const int m_numIntegralPoints = 3
 

Additional Inherited Members

- Protected Types inherited from Forward2DTriangleElementEdgeBased
enum  TypeOfOuterEdge {
  INNER_EDGE = -1 , LOWER_EDGE = 0 , UPPER_EDGE , LEFT_EDGE ,
  RIGHT_EDGE
}
 
- Protected Types inherited from Forward2D
enum  typeOf2DAnalysis {
  NOT_ASSIGNED = -1 , NODE_BASED_FIRST_ORDER = 0 , NODE_BASED_SECOND_ORDER , EDGE_BASED_ZEROTH_ORDER ,
  EDGE_BASED_FIRST_ORDER
}
 
- Protected Member Functions inherited from Forward2DTriangleElementEdgeBased
virtual std::complex< double > calcEx (const int iElem, const double uCoord, const double vCoord, const MeshDataTetraElement *const pMeshDataTetraElement) const
 
virtual std::complex< double > calcEy (const int iElem, const double uCoord, const double vCoord, const MeshDataTetraElement *const pMeshDataTetraElement) const
 
virtual std::complex< double > calcEz (const int iElem, const double uCoord, const double vCoord, const MeshDataTetraElement *const pMeshDataTetraElement) const
 
virtual std::complex< double > calcHx (const double freq, const int iElem, const double uCoord, const double vCoord, const MeshDataTetraElement *const pMeshDataTetraElement) const
 
virtual std::complex< double > calcHy (const double freq, const int iElem, const double uCoord, const double vCoord, const MeshDataTetraElement *const pMeshDataTetraElement) const
 
virtual std::complex< double > calcHz (const double freq, const int iElem, const double uCoord, const double vCoord, const MeshDataTetraElement *const pMeshDataTetraElement) const
 
- Protected Member Functions inherited from Forward2DTriangleElement
void output2DResult (const double freq, const MeshDataTetraElement *const pMeshDataTetraElement) const
 
- Protected Member Functions inherited from Forward2D
int calcMode () const
 
- Protected Attributes inherited from Forward2DTriangleElementEdgeBased
bool ** m_signInversion
 
std::map< int, std::complex< double > > m_edgesIDGlobal2NonZeroValues
 
- Protected Attributes inherited from Forward2DTriangleElement
int m_numEquations
 
int m_numEquationsDegenerated
 
int m_numNodeTotal2D
 
std::map< int, int > m_nodeIDs3DTo2D
 
- Protected Attributes inherited from Forward2D
int m_planeID
 
int m_polarization
 
ComplexSparseSquareSymmetricMatrix m_matrix2DAnalysis
 
bool m_hasMatrixStructureSetAndAnalyzed
 
std::complex< double > * m_solution
 
int ** m_IDsLocal2Global
 
int ** m_IDsLocal2GlobalDegenerated
 
bool m_hasAlreadySetIDsLocal2Global
 
- Static Protected Attributes inherited from Forward2D
static const bool m_sourceFieldElectric = true
 
static const bool m_specifyTEResultToSidesOfEdgeElement = false
 

Constructor & Destructor Documentation

◆ Forward2DTriangleElement0thOrderEdgeBased() [1/3]

Forward2DTriangleElement0thOrderEdgeBased::Forward2DTriangleElement0thOrderEdgeBased ( const int  planeID,
const int  iPol 
)
explicit

◆ ~Forward2DTriangleElement0thOrderEdgeBased()

Forward2DTriangleElement0thOrderEdgeBased::~Forward2DTriangleElement0thOrderEdgeBased ( )

◆ Forward2DTriangleElement0thOrderEdgeBased() [2/3]

Forward2DTriangleElement0thOrderEdgeBased::Forward2DTriangleElement0thOrderEdgeBased ( )
private

◆ Forward2DTriangleElement0thOrderEdgeBased() [3/3]

Forward2DTriangleElement0thOrderEdgeBased::Forward2DTriangleElement0thOrderEdgeBased ( const Forward2DTriangleElement0thOrderEdgeBased rhs)
private

Member Function Documentation

◆ calcArrayConvertLocalID2Global()

void Forward2DTriangleElement0thOrderEdgeBased::calcArrayConvertLocalID2Global ( const MeshDataTetraElement *const  pMeshData)
private

◆ calcEMFieldsOfBoundaryPlanes()

void Forward2DTriangleElement0thOrderEdgeBased::calcEMFieldsOfBoundaryPlanes ( const double  freq,
const MeshDataTetraElement *const  pMeshData 
)
virtual

◆ calcJacobianMatrixOnYZPlaneOfBoundary()

void Forward2DTriangleElement0thOrderEdgeBased::calcJacobianMatrixOnYZPlaneOfBoundary ( const MeshDataTetraElement *const  pMeshDataTetraElement,
const int  elemID2D,
Forward2DTriangleElementEdgeBased::JacobianMatrix JacobMat,
double &  determinant 
) const
private

◆ calcJacobianMatrixOnZXPlaneOfBoundary()

void Forward2DTriangleElement0thOrderEdgeBased::calcJacobianMatrixOnZXPlaneOfBoundary ( const MeshDataTetraElement *const  pMeshDataTetraElement,
const int  elemID2D,
Forward2DTriangleElementEdgeBased::JacobianMatrix JacobMat,
double &  determinant 
) const
private

◆ calcValueElectricFieldHorizontal()

std::complex< double > Forward2DTriangleElement0thOrderEdgeBased::calcValueElectricFieldHorizontal ( const int  iElem,
const double  uCoord,
const double  vCoord,
const MeshDataTetraElement *const  pMeshDataTetraElement 
) const
privatevirtual

◆ calcValueElectricFieldVertical()

std::complex< double > Forward2DTriangleElement0thOrderEdgeBased::calcValueElectricFieldVertical ( const int  iElem,
const double  uCoord,
const double  vCoord,
const MeshDataTetraElement *const  pMeshDataTetraElement 
) const
privatevirtual

◆ calcValueMagneticFieldPerpendicular()

std::complex< double > Forward2DTriangleElement0thOrderEdgeBased::calcValueMagneticFieldPerpendicular ( const double  freq,
const int  iElem,
const double  uCoord,
const double  vCoord,
const MeshDataTetraElement *const  pMeshDataTetraElement 
) const
privatevirtual

◆ getShapeFuncReferenceCoordU()

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

◆ getShapeFuncReferenceCoordV()

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

◆ getShapeFuncRotated()

double Forward2DTriangleElement0thOrderEdgeBased::getShapeFuncRotated ( ) const
inlineprivate

◆ getTypeOfOuterEdgeOfBoundaryPlanes()

int Forward2DTriangleElement0thOrderEdgeBased::getTypeOfOuterEdgeOfBoundaryPlanes ( const int  elemIDLocal2D,
const int  edgeIDLocal2D,
const MeshDataTetraElement *const  pMeshDataTetraElement 
) const
private

◆ operator=()

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

Member Data Documentation

◆ DIRICHLET_BOUNDARY_NONZERO_VALUE

const int Forward2DTriangleElement0thOrderEdgeBased::DIRICHLET_BOUNDARY_NONZERO_VALUE = -1
staticprivate

◆ DIRICHLET_BOUNDARY_ZERO_VALUE

const int Forward2DTriangleElement0thOrderEdgeBased::DIRICHLET_BOUNDARY_ZERO_VALUE = -2
staticprivate

◆ m_numIntegralPoints

const int Forward2DTriangleElement0thOrderEdgeBased::m_numIntegralPoints = 3
staticprivate

◆ m_uCoord

double Forward2DTriangleElement0thOrderEdgeBased::m_uCoord[m_numIntegralPoints]
private

◆ m_vCoord

double Forward2DTriangleElement0thOrderEdgeBased::m_vCoord[m_numIntegralPoints]
private

◆ m_weight

double Forward2DTriangleElement0thOrderEdgeBased::m_weight[m_numIntegralPoints]
private

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