FEMTIC
Classes | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | Private Member Functions | List of all members
Forward2DQuadrilateralElementEdgeBased Class Referenceabstract

#include <Forward2DQuadrilateralElementEdgeBased.h>

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

Classes

struct  JacobianMatrix
 

Public Member Functions

 Forward2DQuadrilateralElementEdgeBased (const int planeID, const int iPol)
 
 ~Forward2DQuadrilateralElementEdgeBased ()
 
virtual void calcEMFieldsOfBoundaryPlanes (const double freq, const MeshDataNonConformingHexaElement *const pMeshData)=0
 
- Public Member Functions inherited from Forward2DQuadrilateralElement
 Forward2DQuadrilateralElement (const int planeID, const int iPol)
 
 ~Forward2DQuadrilateralElement ()
 
- 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
 

Protected Types

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

virtual std::complex< double > calcEx (const int iElem, const double uCoord, const double vCoord, const MeshDataNonConformingHexaElement *const pMeshData) const
 
virtual std::complex< double > calcEy (const int iElem, const double uCoord, const double vCoord, const MeshDataNonConformingHexaElement *const pMeshData) const
 
virtual std::complex< double > calcEz (const int iElem, const double uCoord, const double vCoord, const MeshDataNonConformingHexaElement *const pMeshData) const
 
virtual std::complex< double > calcHx (const double freq, const int iElem, const double uCoord, const double vCoord, const MeshDataNonConformingHexaElement *const pMeshData) const
 
virtual std::complex< double > calcHy (const double freq, const int iElem, const double uCoord, const double vCoord, const MeshDataNonConformingHexaElement *const pMeshData) const
 
virtual std::complex< double > calcHz (const double freq, const int iElem, const double uCoord, const double vCoord, const MeshDataNonConformingHexaElement *const pMeshData) const
 
- Protected Member Functions inherited from Forward2DQuadrilateralElement
void output2DResult (const double freq, const MeshDataNonConformingHexaElement *const pMeshData) const
 
- Protected Member Functions inherited from Forward2D
int calcMode () const
 

Protected Attributes

std::map< int, std::complex< double > > m_edgesIDGlobal2NonZeroValues
 
- Protected Attributes inherited from Forward2DQuadrilateralElement
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
 

Private Member Functions

virtual std::complex< double > calcValueElectricFieldHorizontal (const int iElem, const double uCoord, const double vCoord, const MeshDataNonConformingHexaElement *const pMeshData) const =0
 
virtual std::complex< double > calcValueElectricFieldVertical (const int iElem, const double uCoord, const double vCoord, const MeshDataNonConformingHexaElement *const pMeshData) const =0
 
virtual std::complex< double > calcValueMagneticFieldPerpendicular (const double freq, const int iElem, const double uCoord, const double vCoord, const MeshDataNonConformingHexaElement *const pMeshData) const =0
 
 Forward2DQuadrilateralElementEdgeBased ()
 
 Forward2DQuadrilateralElementEdgeBased (const Forward2DQuadrilateralElementEdgeBased &rhs)
 
Forward2DQuadrilateralElementEdgeBasedoperator= (const Forward2DQuadrilateralElementEdgeBased &rhs)
 

Additional Inherited Members

- Static Protected Attributes inherited from Forward2D
static const bool m_sourceFieldElectric = true
 
static const bool m_specifyTEResultToSidesOfEdgeElement = false
 

Member Enumeration Documentation

◆ TypeOfOuterEdge

Enumerator
INNER_EDGE 
LOWER_EDGE 
UPPER_EDGE 
LEFT_EDGE 
RIGHT_EDGE 

Constructor & Destructor Documentation

◆ Forward2DQuadrilateralElementEdgeBased() [1/3]

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

◆ ~Forward2DQuadrilateralElementEdgeBased()

Forward2DQuadrilateralElementEdgeBased::~Forward2DQuadrilateralElementEdgeBased ( )

◆ Forward2DQuadrilateralElementEdgeBased() [2/3]

Forward2DQuadrilateralElementEdgeBased::Forward2DQuadrilateralElementEdgeBased ( )
private

◆ Forward2DQuadrilateralElementEdgeBased() [3/3]

Forward2DQuadrilateralElementEdgeBased::Forward2DQuadrilateralElementEdgeBased ( const Forward2DQuadrilateralElementEdgeBased rhs)
private

Member Function Documentation

◆ calcEMFieldsOfBoundaryPlanes()

virtual void Forward2DQuadrilateralElementEdgeBased::calcEMFieldsOfBoundaryPlanes ( const double  freq,
const MeshDataNonConformingHexaElement *const  pMeshData 
)
pure virtual

◆ calcEx()

std::complex< double > Forward2DQuadrilateralElementEdgeBased::calcEx ( const int  iElem,
const double  uCoord,
const double  vCoord,
const MeshDataNonConformingHexaElement *const  pMeshData 
) const
protectedvirtual

◆ calcEy()

std::complex< double > Forward2DQuadrilateralElementEdgeBased::calcEy ( const int  iElem,
const double  uCoord,
const double  vCoord,
const MeshDataNonConformingHexaElement *const  pMeshData 
) const
protectedvirtual

◆ calcEz()

std::complex< double > Forward2DQuadrilateralElementEdgeBased::calcEz ( const int  iElem,
const double  uCoord,
const double  vCoord,
const MeshDataNonConformingHexaElement *const  pMeshData 
) const
protectedvirtual

◆ calcHx()

std::complex< double > Forward2DQuadrilateralElementEdgeBased::calcHx ( const double  freq,
const int  iElem,
const double  uCoord,
const double  vCoord,
const MeshDataNonConformingHexaElement *const  pMeshData 
) const
protectedvirtual

◆ calcHy()

std::complex< double > Forward2DQuadrilateralElementEdgeBased::calcHy ( const double  freq,
const int  iElem,
const double  uCoord,
const double  vCoord,
const MeshDataNonConformingHexaElement *const  pMeshData 
) const
protectedvirtual

◆ calcHz()

std::complex< double > Forward2DQuadrilateralElementEdgeBased::calcHz ( const double  freq,
const int  iElem,
const double  uCoord,
const double  vCoord,
const MeshDataNonConformingHexaElement *const  pMeshData 
) const
protectedvirtual

◆ calcValueElectricFieldHorizontal()

virtual std::complex<double> Forward2DQuadrilateralElementEdgeBased::calcValueElectricFieldHorizontal ( const int  iElem,
const double  uCoord,
const double  vCoord,
const MeshDataNonConformingHexaElement *const  pMeshData 
) const
privatepure virtual

◆ calcValueElectricFieldVertical()

virtual std::complex<double> Forward2DQuadrilateralElementEdgeBased::calcValueElectricFieldVertical ( const int  iElem,
const double  uCoord,
const double  vCoord,
const MeshDataNonConformingHexaElement *const  pMeshData 
) const
privatepure virtual

◆ calcValueMagneticFieldPerpendicular()

virtual std::complex<double> Forward2DQuadrilateralElementEdgeBased::calcValueMagneticFieldPerpendicular ( const double  freq,
const int  iElem,
const double  uCoord,
const double  vCoord,
const MeshDataNonConformingHexaElement *const  pMeshData 
) const
privatepure virtual

◆ operator=()

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

Member Data Documentation

◆ m_edgesIDGlobal2NonZeroValues

std::map< int, std::complex<double> > Forward2DQuadrilateralElementEdgeBased::m_edgesIDGlobal2NonZeroValues
protected

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