hp2D::Eddy2D_H Class Referenceabstract
Class for calculating Eddy current problem with Maxwell modell in h formulation. More...
#include <Eddy2D_H.hh>
Public Types | |
enum | solverType { SUPERLU = 0, BICGSTAB = 1 } |
Type of the solver. More... | |
typedef Cmplx | type |
Public Member Functions | |
virtual Real | dissipation () |
Return dissipation energy. More... | |
Eddy2D_H (concepts::EddyGeometry2D &geom, const concepts::Formula< Real > &H0, const concepts::Formula< Real2d > &curlH0, const concepts::Formula< Real > *divgradH0=0, Eddy2D_H_Interior *interior=0, const uint geomRefAttrib=100, const Real omega=OMEGA50, const Real mu=MU0, enum solverType type=SUPERLU) | |
Constructor. More... | |
Eddy2D_H (concepts::EddyGeometry2D &geom, const Real H0, Eddy2D_H_Interior *interior=0, const uint geomRefAttrib=100, const Real omega=OMEGA50, const Real mu=MU0, enum solverType type=SUPERLU) | |
Constructor. More... | |
Eddy2D_H (concepts::EddyGeometry2D &geom, InputEddy2D_H &input, const uint geomRefAttrib=100) | |
concepts::ElementFormula< concepts::Cmplx2d > * | eField () |
Returns a pointer to the e-Field. More... | |
concepts::ElementFormula< Cmplx > * | hField () |
Returns a pointer to the h-Field (solution + h0). More... | |
virtual Real | magnEnergy () |
Return magnetic energy. More... | |
void | rebuildMesh (concepts::InputAdaptiveModels &input) |
void | rebuildMesh (const uint l=0, const uint p=1, const uint g=0, const uint subdiv=X|Y) |
Rebuilds only the mesh and sets the polynomial degrees. More... | |
const Vector< Cmplx > * | solution () |
Returns solution vector. More... | |
virtual hpAdaptiveSpaceH1 & | space () const |
Returns the space. More... | |
virtual Space< Real > & | space () const=0 |
Returns the space. More... | |
virtual | ~Eddy2D_H () |
Protected Types | |
enum | subdivTypes |
Protected Member Functions | |
virtual std::ostream & | info (std::ostream &os) const |
Returns information in an output stream. More... | |
virtual concepts::Mesh & | mesh_ () |
Mesh. More... | |
virtual const std::string | mshAbbr_ () |
Mesh abbreviation string. More... | |
virtual void | rebuildMesh_ (const uint l=0, const uint p=1, const uint g=0, const uint subdiv=X|Y) |
Rebuilds only the mesh and sets the polynomial degrees. More... | |
Protected Attributes | |
const uint | geomRefAttr_ |
Attribute of vertices or edges for geometric refinement. More... | |
const std::string | problemName_ |
Name of the problem. More... | |
std::unique_ptr< Vector< Cmplx > > | sol_ |
Solution vector. More... | |
Private Member Functions | |
bool | connectedIdx_ (uint &i) |
Gives connected index at interior border to i, if exists. More... | |
void | constructor_ () |
Private constructor. More... | |
void | identityMatrix_ () |
Calculate identity matrix. More... | |
void | laplaceMatrix_ () |
Calculate stiffness matrix. More... | |
void | linearform_ () |
Calculate the load vector. More... | |
void | matrices_ () |
Building the matrices. More... | |
virtual hpFull & | prebuild_ () |
Space Prebuilder. More... | |
virtual void | solve_ () |
Method for solving, throws exception when it wasn't successfull. More... | |
void | systemMatrix_ () |
Compress system matrix. More... | |
Private Attributes | |
std::unique_ptr< concepts::SparseMatrix< Real > > | A_ |
Stiffness matrix. More... | |
std::unique_ptr< concepts::BoundaryConditions > | bc_ |
Boundary conditions. More... | |
std::unique_ptr< concepts::CellConditions > | cc_ |
Cell conditions. More... | |
std::unique_ptr< const concepts::PiecewiseFormulaBase< Real2d > > | curlH0_ |
std::unique_ptr< Real > | dissipation_ |
dissipation energy More... | |
std::unique_ptr< const concepts::PiecewiseFormulaBase< Real > > | divgradH0_ |
std::unique_ptr< const concepts::ElementFunction< Cmplx > > | fun_ |
Element function, is hp2D::Value + homogenisation. More... | |
concepts::EddyGeometry2D & | geom_ |
Mesh and material constants (sigma) More... | |
std::unique_ptr< const concepts::PiecewiseFormulaBase< Real > > | H0_ |
Formula for homogenization. More... | |
std::unique_ptr< Eddy2D_H_Interior > | interior_ |
Size and magnetic field of or in the nonconducting imbedded region. More... | |
std::unique_ptr< concepts::SparseMatrix< Real > > | M_ |
Mass matrix. More... | |
std::unique_ptr< Real > | magnEnergy_ |
Magnetic energy. More... | |
const Real | mu_ |
Permeability constant. More... | |
const Real | omega_ |
Angular frequency. More... | |
std::unique_ptr< concepts::Vector< Cmplx > > | residual_ |
Residual vector. More... | |
std::unique_ptr< Real > | residualNorm_ |
Euclidian norm of the residual of solving the linear system. More... | |
std::unique_ptr< concepts::Vector< Cmplx > > | rhs_ |
std::unique_ptr< concepts::SparseMatrix< Cmplx > > | S_ |
System matrix. More... | |
concepts::PiecewiseFormulaFun< Real, Real > | Sigma_Inv_ |
Piecewise constant formula. More... | |
double | solvetime_ |
Time to solve the system. More... | |
std::unique_ptr< hpAdaptiveSpaceH1 > | spc_ |
Space. More... | |
enum solverType | type_ |
Solver type. More... | |
Detailed Description
Class for calculating Eddy current problem with Maxwell modell in h formulation.
Definition at line 67 of file Eddy2D_H.hh.
Member Typedef Documentation
◆ type
|
inherited |
Member Enumeration Documentation
◆ solverType
◆ subdivTypes
|
protectedinherited |
Definition at line 83 of file adaptiveModels.hh.
Constructor & Destructor Documentation
◆ Eddy2D_H() [1/3]
hp2D::Eddy2D_H::Eddy2D_H | ( | concepts::EddyGeometry2D & | geom, |
const concepts::Formula< Real > & | H0, | ||
const concepts::Formula< Real2d > & | curlH0, | ||
const concepts::Formula< Real > * | divgradH0 = 0 , |
||
Eddy2D_H_Interior * | interior = 0 , |
||
const uint | geomRefAttrib = 100 , |
||
const Real | omega = OMEGA50 , |
||
const Real | mu = MU0 , |
||
enum solverType | type = SUPERLU |
||
) |
Constructor.
- Parameters
-
geom geometry, conductivity and source currents
H0 Formula for homogenization. curlH0 [\mathbf{curl}_{2D} h_0] divgradH0 pointer to formula [\mathrm{div} \mathbf{grad} h_0], only needed if offset function has gradient inside the conductive region omega angular frequency in 1/s mu permeability constant in Ohm*s/m geomRefAttrib attrib for geometric refinement type solver type
◆ Eddy2D_H() [2/3]
hp2D::Eddy2D_H::Eddy2D_H | ( | concepts::EddyGeometry2D & | geom, |
const Real | H0, | ||
Eddy2D_H_Interior * | interior = 0 , |
||
const uint | geomRefAttrib = 100 , |
||
const Real | omega = OMEGA50 , |
||
const Real | mu = MU0 , |
||
enum solverType | type = SUPERLU |
||
) |
Constructor.
- Parameters
-
geom geometry, conductivity and source currents H0 magnetic field, created by the coil omega angular frequency in 1/s mu permeability constant in Ohm*s/m geomRefAttrib attrib for geometric refinement type solver type
◆ Eddy2D_H() [3/3]
hp2D::Eddy2D_H::Eddy2D_H | ( | concepts::EddyGeometry2D & | geom, |
InputEddy2D_H & | input, | ||
const uint | geomRefAttrib = 100 |
||
) |
◆ ~Eddy2D_H()
|
inlinevirtual |
Definition at line 103 of file Eddy2D_H.hh.
Member Function Documentation
◆ connectedIdx_()
|
private |
Gives connected index at interior border to i, if exists.
◆ constructor_()
|
private |
Private constructor.
◆ dissipation()
|
virtual |
Return dissipation energy.
Implements concepts::MaxwellModel.
◆ eField()
concepts::ElementFormula<concepts::Cmplx2d>* hp2D::Eddy2D_H::eField | ( | ) |
Returns a pointer to the e-Field.
Solves the problem, if not yet.
◆ hField()
concepts::ElementFormula<Cmplx>* hp2D::Eddy2D_H::hField | ( | ) |
Returns a pointer to the h-Field (solution + h0).
Solves the problem, if not yet.
◆ identityMatrix_()
|
private |
Calculate identity matrix.
◆ info()
|
protectedvirtual |
Returns information in an output stream.
Reimplemented from concepts::Model< Cmplx >.
◆ laplaceMatrix_()
|
private |
Calculate stiffness matrix.
◆ linearform_()
|
private |
Calculate the load vector.
◆ magnEnergy()
|
virtual |
Return magnetic energy.
Implements concepts::MaxwellModel.
◆ matrices_()
|
private |
Building the matrices.
◆ mesh_()
|
inlineprotectedvirtualinherited |
◆ mshAbbr_()
|
inlineprotectedvirtual |
Mesh abbreviation string.
Implements concepts::Model< Cmplx >.
Definition at line 121 of file Eddy2D_H.hh.
◆ prebuild_()
|
inlineprivatevirtual |
Space Prebuilder.
Implements hp2D::AdaptiveModel< Cmplx >.
Definition at line 126 of file Eddy2D_H.hh.
◆ rebuildMesh() [1/2]
|
inherited |
◆ rebuildMesh() [2/2]
|
inherited |
Rebuilds only the mesh and sets the polynomial degrees.
- Parameters
-
l number of uniform refinements p number of polynomial enlargements g number of geometric refinements subdiv possibility to restrict subdivision strategy for geometric refinement
◆ rebuildMesh_()
|
protectedvirtualinherited |
Rebuilds only the mesh and sets the polynomial degrees.
Implements concepts::AdaptiveModel< Cmplx, 2 >.
◆ solution()
|
inlineinherited |
◆ solve_()
|
privatevirtual |
Method for solving, throws exception when it wasn't successfull.
Implements concepts::Model< Cmplx >.
◆ space() [1/2]
|
virtual |
Returns the space.
◆ space() [2/2]
|
pure virtualinherited |
Returns the space.
◆ systemMatrix_()
|
private |
Compress system matrix.
Member Data Documentation
◆ A_
|
private |
Stiffness matrix.
Definition at line 157 of file Eddy2D_H.hh.
◆ bc_
|
private |
Boundary conditions.
Definition at line 147 of file Eddy2D_H.hh.
◆ cc_
|
private |
Cell conditions.
Definition at line 149 of file Eddy2D_H.hh.
◆ curlH0_
|
private |
Definition at line 168 of file Eddy2D_H.hh.
◆ dissipation_
|
private |
dissipation energy
Definition at line 177 of file Eddy2D_H.hh.
◆ divgradH0_
|
private |
Definition at line 169 of file Eddy2D_H.hh.
◆ fun_
|
private |
Element function, is hp2D::Value + homogenisation.
Definition at line 181 of file Eddy2D_H.hh.
◆ geom_
|
private |
Mesh and material constants (sigma)
Definition at line 145 of file Eddy2D_H.hh.
◆ geomRefAttr_
|
protectedinherited |
Attribute of vertices or edges for geometric refinement.
Definition at line 91 of file adaptiveModels.hh.
◆ H0_
|
private |
Formula for homogenization.
Definition at line 167 of file Eddy2D_H.hh.
◆ interior_
|
private |
Size and magnetic field of or in the nonconducting imbedded region.
Definition at line 171 of file Eddy2D_H.hh.
◆ M_
|
private |
Mass matrix.
Definition at line 159 of file Eddy2D_H.hh.
◆ magnEnergy_
|
private |
Magnetic energy.
Definition at line 179 of file Eddy2D_H.hh.
◆ mu_
|
private |
Permeability constant.
Definition at line 175 of file Eddy2D_H.hh.
◆ omega_
|
private |
Angular frequency.
Definition at line 173 of file Eddy2D_H.hh.
◆ problemName_
|
protectedinherited |
◆ residual_
|
private |
Residual vector.
Definition at line 153 of file Eddy2D_H.hh.
◆ residualNorm_
|
private |
Euclidian norm of the residual of solving the linear system.
Definition at line 155 of file Eddy2D_H.hh.
◆ rhs_
|
private |
Definition at line 163 of file Eddy2D_H.hh.
◆ S_
|
private |
System matrix.
Definition at line 161 of file Eddy2D_H.hh.
◆ Sigma_Inv_
|
private |
◆ sol_
|
protectedinherited |
◆ solvetime_
|
private |
Time to solve the system.
Definition at line 183 of file Eddy2D_H.hh.
◆ spc_
|
private |
Definition at line 143 of file Eddy2D_H.hh.
◆ type_
|
private |
Solver type.
Definition at line 149 of file Eddy2D_H.hh.
The documentation for this class was generated from the following file:
- models/Eddy2D_H.hh