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

#include <Eddy2D_E.hh>

Inheritance diagram for hp2D::Eddy2D_E:
hp2D::AdaptiveModel< Cmplx > concepts::MaxwellModel concepts::MaxwellBoundary concepts::AdaptiveModel< Cmplx, 2 > concepts::Model< Cmplx > concepts::OutputOperator

Public Types

enum  boundaryType { PMC = 0, PEC = 1, MAX_TYPE }
 Boundary type. More...
 
typedef Cmplx type
 

Public Member Functions

boundaryTypebType ()
 
const boundaryType bType () const
 Returns boundary type. More...
 
const std::string bTypeStr () const
 Returns name of boundary type as string. More...
 
virtual Real dissipation ()
 Return dissipation power loss. More...
 
 Eddy2D_E (concepts::EddyGeometry2D &geom, enum concepts::MaxwellBoundary::boundaryType bType=PEC, const Real omega=OMEGA50, const Real mu=MU0, const uint geomRefAttrib=100)
 Constructor. More...
 
 Eddy2D_E (concepts::EddyGeometry2D &geom, InputEddy2D_E &input, enum boundaryType bType=PEC, const uint geomRefAttrib=100)
 
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 hpAdaptiveSpaceHCurl_H1space () const
 Returns the space. More...
 
virtual Space< Real > & space () const=0
 Returns the space. More...
 
virtual ~Eddy2D_E ()
 

Protected Types

enum  subdivTypes
 

Protected Member Functions

virtual std::ostream & info (std::ostream &os) const
 Returns information in an output stream. More...
 
virtual concepts::Meshmesh_ ()
 Mesh. More...
 
virtual const std::string mshAbbr_ ()
 Mesh abbreviation string. More...
 
virtual hpFullprebuild_ ()
 Space Prebuilder. 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

void constructor_ ()
 Private constructor. More...
 
void constructSpace_ ()
 Constructs the space. More...
 
void identityMatrix_ ()
 Calculate identity matrix. More...
 
void linearform_ ()
 Calculate the load vector, assumes sigma = 0 inside the coil. More...
 
void matrices_ ()
 Building the matrices. More...
 
void regMatrix_ ()
 Calculate regularisation matrix. More...
 
void rotrotMatrix_ ()
 Calculate stiffness matrix. More...
 
virtual void solve_ ()
 Method for solving, throws exception when it wasn't successfull. More...
 

Private Attributes

std::unique_ptr< concepts::SparseMatrix< Real > > A_
 Mass matrix. More...
 
std::unique_ptr< concepts::BoundaryConditionsbcE_
 Boundary conditions. More...
 
std::unique_ptr< concepts::BoundaryConditionsbcN_
 
enum boundaryType bType_
 Type of boundary condition. More...
 
std::unique_ptr< concepts::CellConditionscc_
 
std::unique_ptr< Real > dissipation_
 Dissipation power loss. More...
 
concepts::EddyGeometry2Dgeom_
 Mesh and material constants (sigma, j0) More...
 
std::unique_ptr< concepts::SparseMatrix< Real > > M_eddy_
 
std::unique_ptr< Real > magnEnergy_
 Magnetic energy. More...
 
double matrixtime_
 
const Real mu_
 Permeability constant. More...
 
const Real omega_
 Angular frequency. More...
 
std::unique_ptr< concepts::Vector< Cmplx > > residual_
 Residual of solving the linear system. 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_
 Stiffness and System matrix. More...
 
double solvetime_
 Time to solve the system, to build the matrices, to rebuild the space. More...
 
double spacetime_
 
std::unique_ptr< hpAdaptiveSpaceHCurl_H1spc_
 Spaces. More...
 
std::unique_ptr< hpAdaptiveSpaceHCurlspcE_
 
std::unique_ptr< hpAdaptiveSpaceH1spcN_
 

Friends

class concepts::ModelControl< Eddy2D_E >
 

Detailed Description

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

Author
Kersten Schmidt, 2005

Definition at line 34 of file Eddy2D_E.hh.

Member Typedef Documentation

◆ type

typedef Cmplx concepts::Model< Cmplx >::type
inherited

Definition at line 59 of file models.hh.

Member Enumeration Documentation

◆ boundaryType

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 27 of file maxwell.hh.

◆ subdivTypes

enum hp2D::AdaptiveModel::subdivTypes
protectedinherited

Definition at line 83 of file adaptiveModels.hh.

Constructor & Destructor Documentation

◆ Eddy2D_E() [1/2]

hp2D::Eddy2D_E::Eddy2D_E ( concepts::EddyGeometry2D geom,
enum concepts::MaxwellBoundary::boundaryType  bType = PEC,
const Real  omega = OMEGA50,
const Real  mu = MU0,
const uint  geomRefAttrib = 100 
)

Constructor.

Parameters
geomgeometry, conductivity and source currents
bTypetype of boundary condition
omegaangular frequency in 1/s
mupermeability constant in Ohm*s/m
geomRefAttribattrib for geometric refinement

◆ Eddy2D_E() [2/2]

hp2D::Eddy2D_E::Eddy2D_E ( concepts::EddyGeometry2D geom,
InputEddy2D_E input,
enum boundaryType  bType = PEC,
const uint  geomRefAttrib = 100 
)

◆ ~Eddy2D_E()

virtual hp2D::Eddy2D_E::~Eddy2D_E ( )
inlinevirtual

Definition at line 52 of file Eddy2D_E.hh.

Member Function Documentation

◆ bType() [1/2]

boundaryType& concepts::MaxwellBoundary::bType ( )
inlineinherited

Definition at line 34 of file maxwell.hh.

◆ bType() [2/2]

const boundaryType concepts::MaxwellBoundary::bType ( ) const
inlineinherited

Returns boundary type.

Definition at line 33 of file maxwell.hh.

◆ bTypeStr()

const std::string concepts::MaxwellBoundary::bTypeStr ( ) const
inlineinherited

Returns name of boundary type as string.

Definition at line 36 of file maxwell.hh.

◆ constructor_()

void hp2D::Eddy2D_E::constructor_ ( )
private

Private constructor.

◆ constructSpace_()

void hp2D::Eddy2D_E::constructSpace_ ( )
private

Constructs the space.

◆ dissipation()

virtual Real hp2D::Eddy2D_E::dissipation ( )
virtual

Return dissipation power loss.

Implements concepts::MaxwellModel.

◆ identityMatrix_()

void hp2D::Eddy2D_E::identityMatrix_ ( )
private

Calculate identity matrix.

◆ info()

virtual std::ostream& hp2D::Eddy2D_E::info ( std::ostream &  os) const
protectedvirtual

Returns information in an output stream.

Reimplemented from concepts::Model< Cmplx >.

◆ linearform_()

void hp2D::Eddy2D_E::linearform_ ( )
private

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

◆ magnEnergy()

virtual Real hp2D::Eddy2D_E::magnEnergy ( )
virtual

Return magnetic energy.

Implements concepts::MaxwellModel.

◆ matrices_()

void hp2D::Eddy2D_E::matrices_ ( )
private

Building the matrices.

◆ mesh_()

virtual concepts::Mesh& hp2D::AdaptiveModel< Cmplx >::mesh_
inlineprotectedvirtualinherited

Mesh.

Implements concepts::Model< Cmplx >.

Definition at line 87 of file adaptiveModels.hh.

◆ mshAbbr_()

virtual const std::string hp2D::Eddy2D_E::mshAbbr_ ( )
inlineprotectedvirtual

Mesh abbreviation string.

Implements concepts::Model< Cmplx >.

Definition at line 64 of file Eddy2D_E.hh.

◆ prebuild_()

virtual hpFull& hp2D::Eddy2D_E::prebuild_ ( )
inlineprotectedvirtual

Space Prebuilder.

Implements hp2D::AdaptiveModel< Cmplx >.

Definition at line 62 of file Eddy2D_E.hh.

◆ rebuildMesh() [1/2]

void concepts::AdaptiveModel< Cmplx , dim >::rebuildMesh ( concepts::InputAdaptiveModels input)
inherited

◆ rebuildMesh() [2/2]

void concepts::AdaptiveModel< Cmplx , 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

◆ rebuildMesh_()

virtual void hp2D::AdaptiveModel< Cmplx >::rebuildMesh_ ( const uint  l = 0,
const uint  p = 1,
const uint  g = 0,
const uint  subdiv = X | Y 
)
protectedvirtualinherited

Rebuilds only the mesh and sets the polynomial degrees.

Implements concepts::AdaptiveModel< Cmplx, 2 >.

◆ regMatrix_()

void hp2D::Eddy2D_E::regMatrix_ ( )
private

Calculate regularisation matrix.

◆ rotrotMatrix_()

void hp2D::Eddy2D_E::rotrotMatrix_ ( )
private

Calculate stiffness matrix.

◆ solution()

const Vector<Cmplx >* concepts::Model< Cmplx >::solution
inlineinherited

Returns solution vector.

Definition at line 67 of file models.hh.

◆ solve_()

virtual void hp2D::Eddy2D_E::solve_ ( )
privatevirtual

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

Implements concepts::Model< Cmplx >.

◆ space() [1/2]

virtual hpAdaptiveSpaceHCurl_H1& hp2D::Eddy2D_E::space ( ) const
inlinevirtual

Returns the space.

Definition at line 54 of file Eddy2D_E.hh.

◆ space() [2/2]

virtual Space<Real>& concepts::Model< Cmplx >::space
pure virtualinherited

Returns the space.

Friends And Related Function Documentation

◆ concepts::ModelControl< Eddy2D_E >

friend class concepts::ModelControl< Eddy2D_E >
friend

Definition at line 1 of file Eddy2D_E.hh.

Member Data Documentation

◆ A_

std::unique_ptr<concepts::SparseMatrix<Real> > hp2D::Eddy2D_E::A_
private

Mass matrix.

Definition at line 88 of file Eddy2D_E.hh.

◆ bcE_

std::unique_ptr<concepts::BoundaryConditions> hp2D::Eddy2D_E::bcE_
private

Boundary conditions.

Definition at line 76 of file Eddy2D_E.hh.

◆ bcN_

std::unique_ptr<concepts::BoundaryConditions> hp2D::Eddy2D_E::bcN_
private

Definition at line 76 of file Eddy2D_E.hh.

◆ bType_

enum boundaryType concepts::MaxwellBoundary::bType_
privateinherited

Type of boundary condition.

Definition at line 36 of file maxwell.hh.

◆ cc_

std::unique_ptr<concepts::CellConditions> hp2D::Eddy2D_E::cc_
private

Definition at line 77 of file Eddy2D_E.hh.

◆ dissipation_

std::unique_ptr<Real> hp2D::Eddy2D_E::dissipation_
private

Dissipation power loss.

Definition at line 113 of file Eddy2D_E.hh.

◆ geom_

concepts::EddyGeometry2D& hp2D::Eddy2D_E::geom_
private

Mesh and material constants (sigma, j0)

Definition at line 70 of file Eddy2D_E.hh.

◆ geomRefAttr_

const uint hp2D::AdaptiveModel< Cmplx >::geomRefAttr_
protectedinherited

Attribute of vertices or edges for geometric refinement.

Definition at line 91 of file adaptiveModels.hh.

◆ M_eddy_

std::unique_ptr<concepts::SparseMatrix<Real> > hp2D::Eddy2D_E::M_eddy_
private

Definition at line 88 of file Eddy2D_E.hh.

◆ magnEnergy_

std::unique_ptr<Real> hp2D::Eddy2D_E::magnEnergy_
private

Magnetic energy.

Definition at line 115 of file Eddy2D_E.hh.

◆ matrixtime_

double hp2D::Eddy2D_E::matrixtime_
private

Definition at line 117 of file Eddy2D_E.hh.

◆ mu_

const Real hp2D::Eddy2D_E::mu_
private

Permeability constant.

Definition at line 95 of file Eddy2D_E.hh.

◆ omega_

const Real hp2D::Eddy2D_E::omega_
private

Angular frequency.

Definition at line 93 of file Eddy2D_E.hh.

◆ problemName_

const std::string concepts::Model< Cmplx >::problemName_
protectedinherited

Name of the problem.

Definition at line 82 of file models.hh.

◆ residual_

std::unique_ptr<concepts::Vector<Cmplx> > hp2D::Eddy2D_E::residual_
private

Residual of solving the linear system.

Definition at line 80 of file Eddy2D_E.hh.

◆ residualNorm_

std::unique_ptr<Real> hp2D::Eddy2D_E::residualNorm_
private

Euclidian norm of the residual of solving the linear system.

Definition at line 82 of file Eddy2D_E.hh.

◆ rhs_

std::unique_ptr<concepts::Vector<Cmplx> > hp2D::Eddy2D_E::rhs_
private

Definition at line 90 of file Eddy2D_E.hh.

◆ S_

std::unique_ptr<concepts::SparseMatrix<Cmplx> > hp2D::Eddy2D_E::S_
private

Stiffness and System matrix.

Definition at line 86 of file Eddy2D_E.hh.

◆ sol_

std::unique_ptr<Vector<Cmplx > > concepts::Model< Cmplx >::sol_
protectedinherited

Solution vector.

Definition at line 78 of file models.hh.

◆ solvetime_

double hp2D::Eddy2D_E::solvetime_
private

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

Definition at line 117 of file Eddy2D_E.hh.

◆ spacetime_

double hp2D::Eddy2D_E::spacetime_
private

Definition at line 117 of file Eddy2D_E.hh.

◆ spc_

std::unique_ptr<hpAdaptiveSpaceHCurl_H1> hp2D::Eddy2D_E::spc_
private

Spaces.

Definition at line 72 of file Eddy2D_E.hh.

◆ spcE_

std::unique_ptr<hpAdaptiveSpaceHCurl> hp2D::Eddy2D_E::spcE_
private

Definition at line 73 of file Eddy2D_E.hh.

◆ spcN_

std::unique_ptr<hpAdaptiveSpaceH1> hp2D::Eddy2D_E::spcN_
private

Definition at line 74 of file Eddy2D_E.hh.


The documentation for this class was generated from the following file:
Page URL: http://wiki.math.ethz.ch/bin/view/Concepts/WebHome
21 August 2020
© 2020 Eidgenössische Technische Hochschule Zürich