Home | Doxygen Documentation | Tutorials | Developer Tools (restricted)

Public Types | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes | Friends
hp2D::Maxwell2D_H_DD Class Reference

Class for calculating Eddy current problem with Maxwell modell in h formulation, with Domain Decomposition. More...

#include <Maxwell2D_H.hh>

Inheritance diagram for hp2D::Maxwell2D_H_DD:
Inheritance graph
[legend]
Collaboration diagram for hp2D::Maxwell2D_H_DD:
Collaboration graph
[legend]

List of all members.

Public Types

enum  boundaryType { PMC = 0, PEC = 1, MAX_TYPE }
 Boundary type. More...
enum  solverType {
  SUPERLU = 0, SUPERLU2 = 1, BICGSTAB = 2, BICGSTAB2 = 3,
  BICGSTABSUPERLU = 4
}
 Type of the solver. More...
typedef F type

Public Member Functions

const boundaryType bType () const
 Returns boundary type.
boundaryTypebType ()
const std::string bTypeStr () const
 Returns name of boundary type as string.
Real dissipation ()
 Return dissipation power loss.
Real magnEnergy ()
 Return magnetic energy.
 Maxwell2D_H_DD (concepts::EddyGeometry2D &geom, InputMaxwell2D_H &input, const uint geomRefAttrib=100, std::string domains="(2)")
 Maxwell2D_H_DD (concepts::EddyGeometry2D &geom, enum concepts::MaxwellBoundary::boundaryType bType, 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, std::string domains="(2)")
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.
const Vector< F > * solution ()
 Returns solution vector.
virtual concepts::DomainDecomp
< hpAdaptiveSpaceH1 > & 
space () const
 Returns the space.
virtual ~Maxwell2D_H_DD ()

Protected Types

enum  subdivTypes

Protected Member Functions

concepts::SparseMatrix< Real > * identityMatrix_ (concepts::Space< Real > &spc, concepts::SparseMatrix< Cmplx > *S)
 Calculate identity matrix and add's it to system matrix S.
virtual std::ostream & info (std::ostream &os) const
 Returns information in an output stream.
concepts::SparseMatrix< Cmplx > * laplaceMatrix_ (concepts::Space< Real > &spc, concepts::SparseMatrix< Cmplx > *S)
 Calculate stiffness matrix and add's it to system matrix S.
void linearform_ ()
 Calculate the load vector, assumes sigma = 0 inside the coil.
virtual concepts::Meshmesh_ ()
 Mesh.
virtual const std::string mshAbbr_ ()
 Mesh abbreviation string.
virtual hpFullprebuild_ ()
 Space Prebuilder.
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.

Protected Attributes

bool afterIter_
 Nachiteration.
std::auto_ptr
< concepts::BoundaryConditions
bc_
 Boundary conditions.
bool diagPrecond_
 Using diagonal preconditioning.
std::auto_ptr< Real > dissipation_
 Dissipation power loss.
Real eps_
 Dielectricity constant.
concepts::EddyGeometry2Dgeom_
 Mesh and material constants (sigma, j0)
const uint geomRefAttr_
 Attribute of vertices or edges for geometric refinement.
concepts::PiecewiseFormulaFun
< Cmplx, Real > 
iOmegaEps_plus_Sigma_Inv_
 Piecewise constant formula

\[(i \omega \varepsilon_0 + \sigma)^-1\]

.

uint iterations_
 Number of iterations for iterative solver.
std::auto_ptr< Real > magnEnergy_
 Magnetic energy.
double matrixtime_
const Real mu_
 Permeability constant.
Real omega_
 Angular frequency.
const std::string problemName_
 Name of the problem.
std::auto_ptr
< concepts::Vector< Cmplx > > 
residual_
std::auto_ptr< Real > residualNorm_
 Euclidian norm of the residual of solving the linear system.
std::auto_ptr
< concepts::Vector< Cmplx > > 
rhs_
std::auto_ptr< Vector< F > > sol_
 Solution vector.
double solvetime_
 Time to solve the system, to build the matrices, to rebuild the space.
double spacetime_
bool statusAfterIter_
enum solverType type_
 Solver type.

Private Member Functions

template<class F >
void clear_ (concepts::Sequence< F * > &seq)
void constructSpace_ (const std::string &domainStr)
 Constructs the space.
void identityMatrix_ ()
 Calculate identity matrix.
void laplaceMatrix_ ()
 Calculate stiffness matrix.
void matrices_ ()
 Building the matrices.
virtual void solve_ ()
 Method for solving, throws exception when it wasn't successfull.

Private Attributes

concepts::Sequence
< concepts::SparseMatrix
< Cmplx > * > 
A_
 Stiffness and System matrix.
concepts::Sequence
< concepts::SparseMatrix< Real > * > 
M_
 Mass matrix.
hp2D::hpFull prebuilds_
 Space prebuilder.
concepts::Sequence
< concepts::SparseMatrix
< Cmplx > * > 
S_
std::auto_ptr
< concepts::DomainDecomp
< hp2D::hpAdaptiveSpaceH1 > > 
spc_
 Space.

Friends

class concepts::ModelControl< Maxwell2D_H_Base >
class concepts::ModelControl< Maxwell2D_H_DD >

Detailed Description

Class for calculating Eddy current problem with Maxwell modell in h formulation, with Domain Decomposition.

Author:
Kersten Schmidt, 2005

Definition at line 186 of file Maxwell2D_H.hh.


Member Typedef Documentation

template<class F>
typedef F concepts::Model< F >::type [inherited]

Definition at line 58 of file models.hh.


Member Enumeration Documentation

Boundary type.

Either perfect magnetic conductor (PMC) or perfect electric conductor (PEC). Wether it's dirichlet or neumann boundary is dependent from the formulation.

Enumerator:
PMC 
PEC 
MAX_TYPE 

Definition at line 25 of file maxwell.hh.

Type of the solver.

Enumerator:
SUPERLU 
SUPERLU2 
BICGSTAB 
BICGSTAB2 
BICGSTABSUPERLU 

Reimplemented in hp2D::Maxwell2D_H.

Definition at line 42 of file Maxwell2D_H.hh.

enum hp2D::AdaptiveModel::subdivTypes [protected, inherited]

Reimplemented from concepts::AdaptiveModel< F, dim >.

Definition at line 82 of file adaptiveModels.hh.


Constructor & Destructor Documentation

hp2D::Maxwell2D_H_DD::Maxwell2D_H_DD ( concepts::EddyGeometry2D geom,
enum concepts::MaxwellBoundary::boundaryType  bType,
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,
std::string  domains = "(2)" 
)
hp2D::Maxwell2D_H_DD::Maxwell2D_H_DD ( concepts::EddyGeometry2D geom,
InputMaxwell2D_H input,
const uint  geomRefAttrib = 100,
std::string  domains = "(2)" 
)
virtual hp2D::Maxwell2D_H_DD::~Maxwell2D_H_DD ( ) [virtual]

Member Function Documentation

const boundaryType concepts::MaxwellBoundary::bType ( ) const [inline, inherited]

Returns boundary type.

Definition at line 31 of file maxwell.hh.

boundaryType& concepts::MaxwellBoundary::bType ( ) [inline, inherited]

Definition at line 32 of file maxwell.hh.

const std::string concepts::MaxwellBoundary::bTypeStr ( ) const [inline, inherited]

Returns name of boundary type as string.

Definition at line 34 of file maxwell.hh.

template<class F >
void hp2D::Maxwell2D_H_DD::clear_ ( concepts::Sequence< F * > &  seq) [private]

Definition at line 240 of file Maxwell2D_H.hh.

void hp2D::Maxwell2D_H_DD::constructSpace_ ( const std::string &  domainStr) [private]

Constructs the space.

Real hp2D::Maxwell2D_H_DD::dissipation ( ) [virtual]

Return dissipation power loss.

Implements concepts::MaxwellModel.

void hp2D::Maxwell2D_H_DD::identityMatrix_ ( ) [private]

Calculate identity matrix.

concepts::SparseMatrix<Real>* hp2D::Maxwell2D_H_Base::identityMatrix_ ( concepts::Space< Real > &  spc,
concepts::SparseMatrix< Cmplx > *  S 
) [protected, inherited]

Calculate identity matrix and add's it to system matrix S.

virtual std::ostream& hp2D::Maxwell2D_H_DD::info ( std::ostream &  os) const [protected, virtual]

Returns information in an output stream.

Reimplemented from hp2D::Maxwell2D_H_Base.

void hp2D::Maxwell2D_H_DD::laplaceMatrix_ ( ) [private]

Calculate stiffness matrix.

concepts::SparseMatrix<Cmplx>* hp2D::Maxwell2D_H_Base::laplaceMatrix_ ( concepts::Space< Real > &  spc,
concepts::SparseMatrix< Cmplx > *  S 
) [protected, inherited]

Calculate stiffness matrix and add's it to system matrix S.

void hp2D::Maxwell2D_H_Base::linearform_ ( ) [protected, inherited]

Calculate the load vector, assumes sigma = 0 inside the coil.

Reimplemented in hp2D::Maxwell2D_H.

Real hp2D::Maxwell2D_H_DD::magnEnergy ( ) [virtual]

Return magnetic energy.

Implements concepts::MaxwellModel.

void hp2D::Maxwell2D_H_DD::matrices_ ( ) [private]

Building the matrices.

virtual concepts::Mesh& hp2D::AdaptiveModel< Cmplx >::mesh_ ( ) [inline, protected, virtual, inherited]

Mesh.

Implements concepts::Model< F >.

Reimplemented in hp2D::Eddy2D_H, and hp2D::Maxwell2D_H.

Definition at line 86 of file adaptiveModels.hh.

Here is the call graph for this function:

virtual const std::string hp2D::Maxwell2D_H_Base::mshAbbr_ ( ) [inline, protected, virtual, inherited]

Mesh abbreviation string.

Implements concepts::Model< F >.

Reimplemented in hp2D::Maxwell2D_H.

Definition at line 67 of file Maxwell2D_H.hh.

Here is the call graph for this function:

virtual hpFull& hp2D::Maxwell2D_H_DD::prebuild_ ( ) [inline, protected, virtual]

Space Prebuilder.

Implements hp2D::AdaptiveModel< Cmplx >.

Definition at line 211 of file Maxwell2D_H.hh.

template<class F, uint dim>
void concepts::AdaptiveModel< F, dim >::rebuildMesh ( concepts::InputAdaptiveModels input) [inherited]
template<class F, uint dim>
void concepts::AdaptiveModel< F, dim >::rebuildMesh ( const uint  l = 0,
const uint  p = 1,
const uint  g = 0,
const uint  subdiv = X|Y 
) [inherited]

Rebuilds only the mesh and sets the polynomial degrees.

Parameters:
lnumber of uniform refinements
pnumber of polynomial enlargements
gnumber of geometric refinements
subdivpossibility to restrict subdivision strategy for geometric refinement
virtual void hp2D::AdaptiveModel< Cmplx >::rebuildMesh_ ( const uint  l = 0,
const uint  p = 1,
const uint  g = 0,
const uint  subdiv = X | Y 
) [protected, virtual, inherited]

Rebuilds only the mesh and sets the polynomial degrees.

Implements concepts::AdaptiveModel< F, dim >.

template<class F>
const Vector<F>* concepts::Model< F >::solution ( ) [inline, inherited]

Returns solution vector.

Definition at line 66 of file models.hh.

virtual void hp2D::Maxwell2D_H_DD::solve_ ( ) [private, virtual]

Method for solving, throws exception when it wasn't successfull.

Implements concepts::Model< F >.

virtual concepts::DomainDecomp<hpAdaptiveSpaceH1>& hp2D::Maxwell2D_H_DD::space ( ) const [inline, virtual]

Returns the space.

Implements concepts::Model< F >.

Definition at line 201 of file Maxwell2D_H.hh.


Friends And Related Function Documentation

friend class concepts::ModelControl< Maxwell2D_H_Base > [friend, inherited]

Definition at line 39 of file Maxwell2D_H.hh.

friend class concepts::ModelControl< Maxwell2D_H_DD > [friend]

Definition at line 187 of file Maxwell2D_H.hh.


Member Data Documentation

Stiffness and System matrix.

Definition at line 218 of file Maxwell2D_H.hh.

bool hp2D::Maxwell2D_H_Base::afterIter_ [protected, inherited]

Nachiteration.

Reimplemented in hp2D::Maxwell2D_H.

Definition at line 88 of file Maxwell2D_H.hh.

std::auto_ptr<concepts::BoundaryConditions> hp2D::Maxwell2D_H_Base::bc_ [protected, inherited]

Boundary conditions.

Definition at line 82 of file Maxwell2D_H.hh.

bool hp2D::Maxwell2D_H_Base::diagPrecond_ [protected, inherited]

Using diagonal preconditioning.

Reimplemented in hp2D::Maxwell2D_H.

Definition at line 86 of file Maxwell2D_H.hh.

std::auto_ptr<Real> hp2D::Maxwell2D_H_Base::dissipation_ [protected, inherited]

Dissipation power loss.

Reimplemented in hp2D::Maxwell2D_H.

Definition at line 103 of file Maxwell2D_H.hh.

Real hp2D::Maxwell2D_H_Base::eps_ [protected, inherited]

Dielectricity constant.

Reimplemented in hp2D::Maxwell2D_H.

Definition at line 97 of file Maxwell2D_H.hh.

Mesh and material constants (sigma, j0)

Reimplemented in hp2D::Maxwell2D_H.

Definition at line 80 of file Maxwell2D_H.hh.

const uint hp2D::AdaptiveModel< Cmplx >::geomRefAttr_ [protected, inherited]

Attribute of vertices or edges for geometric refinement.

Definition at line 90 of file adaptiveModels.hh.

Piecewise constant formula

\[(i \omega \varepsilon_0 + \sigma)^-1\]

.

Reimplemented in hp2D::Maxwell2D_H.

Definition at line 95 of file Maxwell2D_H.hh.

uint hp2D::Maxwell2D_H_Base::iterations_ [protected, inherited]

Number of iterations for iterative solver.

Definition at line 109 of file Maxwell2D_H.hh.

Mass matrix.

Definition at line 220 of file Maxwell2D_H.hh.

std::auto_ptr<Real> hp2D::Maxwell2D_H_Base::magnEnergy_ [protected, inherited]

Magnetic energy.

Reimplemented in hp2D::Maxwell2D_H.

Definition at line 105 of file Maxwell2D_H.hh.

double hp2D::Maxwell2D_H_Base::matrixtime_ [protected, inherited]

Definition at line 107 of file Maxwell2D_H.hh.

const Real hp2D::Maxwell2D_H_Base::mu_ [protected, inherited]

Permeability constant.

Reimplemented in hp2D::Maxwell2D_H.

Definition at line 101 of file Maxwell2D_H.hh.

Real hp2D::Maxwell2D_H_Base::omega_ [protected, inherited]

Angular frequency.

Reimplemented in hp2D::Maxwell2D_H.

Definition at line 99 of file Maxwell2D_H.hh.

Space prebuilder.

Definition at line 214 of file Maxwell2D_H.hh.

template<class F>
const std::string concepts::Model< F >::problemName_ [protected, inherited]

Name of the problem.

Definition at line 81 of file models.hh.

std::auto_ptr<concepts::Vector<Cmplx> > hp2D::Maxwell2D_H_Base::residual_ [protected, inherited]

Reimplemented in hp2D::Maxwell2D_H.

Definition at line 89 of file Maxwell2D_H.hh.

std::auto_ptr<Real> hp2D::Maxwell2D_H_Base::residualNorm_ [protected, inherited]

Euclidian norm of the residual of solving the linear system.

Reimplemented in hp2D::Maxwell2D_H.

Definition at line 91 of file Maxwell2D_H.hh.

std::auto_ptr<concepts::Vector<Cmplx> > hp2D::Maxwell2D_H_Base::rhs_ [protected, inherited]

Reimplemented in hp2D::Maxwell2D_H.

Definition at line 93 of file Maxwell2D_H.hh.

Definition at line 218 of file Maxwell2D_H.hh.

template<class F>
std::auto_ptr<Vector<F> > concepts::Model< F >::sol_ [protected, inherited]

Solution vector.

Definition at line 77 of file models.hh.

double hp2D::Maxwell2D_H_Base::solvetime_ [protected, inherited]

Time to solve the system, to build the matrices, to rebuild the space.

Definition at line 107 of file Maxwell2D_H.hh.

double hp2D::Maxwell2D_H_Base::spacetime_ [protected, inherited]

Definition at line 107 of file Maxwell2D_H.hh.

Space.

Definition at line 216 of file Maxwell2D_H.hh.

bool hp2D::Maxwell2D_H_Base::statusAfterIter_ [protected, inherited]

Reimplemented in hp2D::Maxwell2D_H.

Definition at line 88 of file Maxwell2D_H.hh.

enum solverType hp2D::Maxwell2D_H_Base::type_ [protected, inherited]

Solver type.

Reimplemented in hp2D::Maxwell2D_H.

Definition at line 84 of file Maxwell2D_H.hh.


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

Home | Doxygen Documentation | Tutorials | Developer Tools (restricted)