#include <Maxwell2D_H.hh>
Public Types | |
enum | solverType { SUPERLU = 0 , SUPERLU2 = 1 , BICGSTAB = 2 , BICGSTAB2 = 3 , BICGSTABSUPERLU = 4 } |
Type of the solver. More... | |
typedef F | type |
enum | boundaryType { PMC = 0 , PEC = 1 , MAX_TYPE } |
Public Member Functions | |
Maxwell2D_H_Base (concepts::EddyGeometry2D &geom, enum boundaryType bType=PMC, enum solverType type=SUPERLU, bool diagPrecond=true, bool afterIter=false, const Real eps=EPS0, const Real omega=OMEGA50, const Real mu=MU0, const uint geomRefAttrib=100) | |
Maxwell2D_H_Base (concepts::EddyGeometry2D &geom, InputMaxwell2D_H &input, const uint geomRefAttrib=100) | |
void | rebuildMesh (const uint l=0, const uint p=1, const uint g=0, const uint subdiv=X|Y) |
void | rebuildMesh (concepts::InputAdaptiveModels &input) |
virtual Space< Real > & | space () const =0 |
Returns the space. | |
const Vector< F > * | solution () |
Returns solution vector. | |
virtual Real | dissipation ()=0 |
Return dissipation power loss. | |
virtual Real | magnEnergy ()=0 |
Return magnetic energy. | |
const boundaryType | bType () const |
Returns boundary type. | |
boundaryType & | bType () |
const std::string | bTypeStr () const |
Returns name of boundary type as string. | |
Protected Types | |
enum | subdivTypes |
Protected Member Functions | |
virtual std::ostream & | info (std::ostream &os) const |
Returns information in an output stream. | |
virtual const std::string | mshAbbr_ () |
Mesh abbreviation string. | |
concepts::SparseMatrix< Cmplx > * | laplaceMatrix_ (concepts::Space< Real > &spc, concepts::SparseMatrix< Cmplx > *S) |
Calculate stiffness matrix and add's it to system matrix S . | |
concepts::SparseMatrix< Real > * | identityMatrix_ (concepts::Space< Real > &spc, concepts::SparseMatrix< Cmplx > *S) |
Calculate identity matrix and add's it to system matrix S . | |
void | linearform_ () |
Calculate the load vector, assumes sigma = 0 inside the coil. | |
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. | |
virtual concepts::Mesh & | mesh_ () |
Mesh. | |
virtual hpFull & | prebuild_ ()=0 |
Space Prebuilder. | |
virtual void | solve_ ()=0 |
Method for solving. | |
Protected Attributes | |
concepts::EddyGeometry2D & | geom_ |
Mesh and material constants (sigma, j0) | |
std::unique_ptr< concepts::BoundaryConditions > | bc_ |
Boundary conditions. | |
enum solverType | type_ |
Solver type. | |
bool | diagPrecond_ |
Using diagonal preconditioning. | |
bool | afterIter_ |
Nachiteration. | |
bool | statusAfterIter_ |
std::unique_ptr< concepts::Vector< Cmplx > > | residual_ |
std::unique_ptr< Real > | residualNorm_ |
Euclidian norm of the residual of solving the linear system. | |
std::unique_ptr< concepts::Vector< Cmplx > > | rhs_ |
concepts::PiecewiseFormulaFun< Cmplx, Real > | iOmegaEps_plus_Sigma_Inv_ |
Piecewise constant formula. | |
Real | eps_ |
Dielectricity constant. | |
Real | omega_ |
Angular frequency. | |
const Real | mu_ |
Permeability constant. | |
std::unique_ptr< Real > | dissipation_ |
Dissipation power loss. | |
std::unique_ptr< Real > | magnEnergy_ |
Magnetic energy. | |
double | solvetime_ |
Time to solve the system, to build the matrices, to rebuild the space. | |
double | matrixtime_ |
double | spacetime_ |
uint | iterations_ |
Number of iterations for iterative solver. | |
const uint | geomRefAttr_ |
Attribute of vertices or edges for geometric refinement. | |
std::unique_ptr< Vector< F > > | sol_ |
Solution vector. | |
const std::string | problemName_ |
Name of the problem. | |
Friends | |
class | concepts::ModelControl< Maxwell2D_H_Base > |
Base class for calculating Eddy current problem with Maxwell modell in h formulation.
Definition at line 36 of file Maxwell2D_H.hh.
|
inherited |
|
inherited |
Boundary type
Either perfect magnetic conductor (PMC) or perfect electric conductor (PEC). Wether it's dirichlet or neumann boundary is dependent from the formulation.
Definition at line 27 of file maxwell.hh.
Type of the solver.
Definition at line 42 of file Maxwell2D_H.hh.
|
protectedinherited |
Definition at line 83 of file adaptiveModels.hh.
hp2D::Maxwell2D_H_Base::Maxwell2D_H_Base | ( | concepts::EddyGeometry2D & | geom, |
enum boundaryType | bType = PMC , |
||
enum solverType | type = SUPERLU , |
||
bool | diagPrecond = true , |
||
bool | afterIter = false , |
||
const Real | eps = EPS0 , |
||
const Real | omega = OMEGA50 , |
||
const Real | mu = MU0 , |
||
const uint | geomRefAttrib = 100 |
||
) |
Constructor
geom | geometry, conductivity and source currents |
bType | type of boundary condition |
type | solver type |
diagPrecond | flag for preconditioning with diagonal matrix |
aterIter | flag for after iterations |
eps | dielectricity constant |
omega | angular frequency in 1/s |
mu | permeability constant in Ohm*s/m |
geomRefAttrib | attrib for geometric refinement |
|
inlinevirtual |
Definition at line 63 of file Maxwell2D_H.hh.
|
inlineinherited |
Definition at line 34 of file maxwell.hh.
|
inlineinherited |
Returns boundary type.
Definition at line 33 of file maxwell.hh.
|
inlineinherited |
Returns name of boundary type as string.
Definition at line 36 of file maxwell.hh.
|
pure virtualinherited |
Return dissipation power loss.
Implemented in hp2D::Eddy2D_E, hp2D::Eddy2D_H, hp2D::Maxwell2D_E, hp2D::Maxwell2D_H, and hp2D::Maxwell2D_H_DD.
|
protectedvirtual |
Returns information in an output stream.
Reimplemented from concepts::Model< F >.
Reimplemented in hp2D::Maxwell2D_H, and hp2D::Maxwell2D_H_DD.
|
pure virtualinherited |
Return magnetic energy.
Implemented in hp2D::Eddy2D_E, hp2D::Eddy2D_H, hp2D::Maxwell2D_E, hp2D::Maxwell2D_H, and hp2D::Maxwell2D_H_DD.
|
inlineprotectedvirtualinherited |
|
inlineprotectedvirtual |
Mesh abbreviation string.
Implements concepts::Model< F >.
Definition at line 67 of file Maxwell2D_H.hh.
|
protectedpure virtualinherited |
Space Prebuilder.
Implemented in hp2D::Eddy2D_E, hp2D::Maxwell2D_E, hp2D::Maxwell2D_H, and hp2D::Maxwell2D_H_DD.
|
inherited |
Rebuilds only the mesh and sets the polynomial degrees
l | number of uniform refinements |
p | number of polynomial enlargements |
g | number of geometric refinements |
subdiv | possibility to restrict subdivision strategy for geometric refinement |
|
protectedvirtualinherited |
Rebuilds only the mesh and sets the polynomial degrees.
Implements concepts::AdaptiveModel< F, dim >.
|
inlineinherited |
|
pure virtualinherited |
Returns the space.
Implemented in hp2D::Eddy2D_E, hp2D::Eddy2D_H, hp2D::Maxwell2D_E, hp2D::Maxwell2D_H, and hp2D::Maxwell2D_H_DD.
|
friend |
Definition at line 240 of file Maxwell2D_H.hh.
|
protected |
Nachiteration.
Definition at line 88 of file Maxwell2D_H.hh.
|
protected |
Boundary conditions.
Definition at line 82 of file Maxwell2D_H.hh.
|
protected |
Using diagonal preconditioning.
Definition at line 86 of file Maxwell2D_H.hh.
|
protected |
Dissipation power loss.
Definition at line 103 of file Maxwell2D_H.hh.
|
protected |
Dielectricity constant.
Definition at line 97 of file Maxwell2D_H.hh.
|
protected |
Mesh and material constants (sigma, j0)
Definition at line 80 of file Maxwell2D_H.hh.
|
protectedinherited |
Attribute of vertices or edges for geometric refinement.
Definition at line 91 of file adaptiveModels.hh.
|
protected |
|
protected |
Number of iterations for iterative solver.
Definition at line 109 of file Maxwell2D_H.hh.
|
protected |
Magnetic energy.
Definition at line 105 of file Maxwell2D_H.hh.
|
protected |
Definition at line 107 of file Maxwell2D_H.hh.
|
protected |
Permeability constant.
Definition at line 101 of file Maxwell2D_H.hh.
|
protected |
Angular frequency.
Definition at line 99 of file Maxwell2D_H.hh.
|
protectedinherited |
|
protected |
Definition at line 89 of file Maxwell2D_H.hh.
|
protected |
Euclidian norm of the residual of solving the linear system.
Definition at line 91 of file Maxwell2D_H.hh.
|
protected |
Definition at line 93 of file Maxwell2D_H.hh.
|
protectedinherited |
|
protected |
Time to solve the system, to build the matrices, to rebuild the space.
Definition at line 107 of file Maxwell2D_H.hh.
|
protected |
Definition at line 107 of file Maxwell2D_H.hh.
|
protected |
Definition at line 88 of file Maxwell2D_H.hh.
|
protected |
Solver type.
Definition at line 84 of file Maxwell2D_H.hh.