Eddy current problems in 2-D domains using solenoidal approximation. More...
#include <EC2D1T3.h>

Public Member Functions | |
EC2D1T3 () | |
Default constructor. | |
EC2D1T3 (Mesh &ms) | |
Constructor using mesh. More... | |
EC2D1T3 (Mesh &ms, Vect< real_t > &u) | |
Constructor using mesh and solution vector. More... | |
~EC2D1T3 () | |
Destructor. | |
void | setData (real_t omega, real_t volt) |
Define data for equation. More... | |
void | build () |
Build the linear system of equations. More... | |
void | Magnetic (real_t coef=1.) |
Add magnetic contribution to matrix. More... | |
void | Electric (real_t coef=1.) |
Add electric contribution to matrix. More... | |
real_t | Joule () |
Compute Joule density in element. | |
void | IntegMF (real_t &vr, real_t &vi) |
Add element integral contribution. | |
void | IntegND (const Vect< real_t > &h, real_t &vr, real_t &vi) |
Compute integral of normal derivative on edge. More... | |
real_t | VacuumArea () |
Add contribution to vacuum area calculation. | |
![]() | |
Equation () | |
Equation (Mesh &mesh) | |
Constructor with mesh instance. More... | |
Equation (Mesh &mesh, Vect< real_t > &u) | |
Constructor with mesh instance and solution vector. More... | |
Equation (Mesh &mesh, Vect< real_t > &u, real_t &init_time, real_t &final_time, real_t &time_step) | |
Constructor with mesh instance, matrix and right-hand side. More... | |
~Equation () | |
Destructor. | |
void | updateBC (const Element &el, const Vect< real_t > &bc) |
Update Right-Hand side by taking into account essential boundary conditions. More... | |
void | DiagBC (DOFSupport dof_type=NODE_DOF, int dof=0) |
Update element matrix to impose bc by diagonalization technique. More... | |
void | LocalNodeVector (Vect< real_t > &b) |
Localize Element Vector from a Vect instance. More... | |
void | ElementNodeVector (const Vect< real_t > &b, LocalVect< real_t, NEE_ > &be) |
Localize Element Vector from a Vect instance. More... | |
void | SideNodeVector (const Vect< real_t > &b, LocalVect< real_t, NSE_ > &bs) |
Localize Side Vector from a Vect instance. More... | |
void | SideSideVector (const Vect< real_t > &b, std::valarray< real_t > &bs) |
Localize Side Vector from a Vect instance. More... | |
void | ElementNodeVectorSingleDOF (const Vect< real_t > &b, LocalVect< real_t, NEN_ > &be) |
Localize Element Vector from a Vect instance. More... | |
void | ElementNodeVector (const Vect< real_t > &b, LocalVect< real_t, NEN_ > &be, int dof) |
Localize Element Vector from a Vect instance. More... | |
void | ElementSideVector (const Vect< real_t > &b, LocalVect< real_t, NSE_ > &be) |
Localize Element Vector from a Vect instance. More... | |
void | ElementVector (const Vect< real_t > &b, DOFSupport dof_type=NODE_DOF, int flag=0) |
Localize Element Vector. More... | |
void | SideVector (const Vect< real_t > &b, std::valarray< real_t > &sb) |
Localize Side Vector. More... | |
void | ElementNodeCoordinates () |
Localize coordinates of element nodes. More... | |
void | SideNodeCoordinates () |
Localize coordinates of side nodes. More... | |
void | ElementAssembly (Matrix< real_t > *A) |
Assemble element matrix into global one. More... | |
void | ElementAssembly (BMatrix< real_t > &A) |
Assemble element matrix into global one. More... | |
void | ElementAssembly (SkSMatrix< real_t > &A) |
Assemble element matrix into global one. More... | |
void | ElementAssembly (SkMatrix< real_t > &A) |
Assemble element matrix into global one. More... | |
void | ElementAssembly (SpMatrix< real_t > &A) |
Assemble element matrix into global one. More... | |
void | ElementAssembly (TrMatrix< real_t > &A) |
Assemble element matrix into global one. More... | |
void | DGElementAssembly (Matrix< real_t > *A) |
Assemble element matrix into global one for the Discontinuous Galerkin approximation. More... | |
void | DGElementAssembly (SkSMatrix< real_t > &A) |
Assemble element matrix into global one for the Discontinuous Galerkin approximation. More... | |
void | DGElementAssembly (SkMatrix< real_t > &A) |
Assemble element matrix into global one for the Discontinuous Galerkin approximation. More... | |
void | DGElementAssembly (SpMatrix< real_t > &A) |
Assemble element matrix into global one for the Discontinuous Galerkin approximation. More... | |
void | DGElementAssembly (TrMatrix< real_t > &A) |
Assemble element matrix into global one for the Discontinuous Galerkin approximation. More... | |
void | SideAssembly (Matrix< real_t > *A) |
Assemble side (edge or face) matrix into global one. More... | |
void | SideAssembly (SkSMatrix< real_t > &A) |
Assemble side (edge or face) matrix into global one. More... | |
void | SideAssembly (SkMatrix< real_t > &A) |
Assemble side (edge or face) matrix into global one. More... | |
void | SideAssembly (SpMatrix< real_t > &A) |
Assemble side (edge or face) matrix into global one. More... | |
void | ElementAssembly (Vect< real_t > &v) |
Assemble element vector into global one. More... | |
void | SideAssembly (Vect< real_t > &v) |
Assemble side (edge or face) vector into global one. More... | |
void | AxbAssembly (const Element &el, const Vect< real_t > &x, Vect< real_t > &b) |
Assemble product of element matrix by element vector into global vector. More... | |
void | AxbAssembly (const Side &sd, const Vect< real_t > &x, Vect< real_t > &b) |
Assemble product of side matrix by side vector into global vector. More... | |
size_t | getNbNodes () const |
Return number of element nodes. | |
size_t | getNbEq () const |
Return number of element equations. | |
real_t | setMaterialProperty (const string &exp, const string &prop) |
Define a material property by an algebraic expression. More... | |
![]() | |
Equa () | |
Default constructor. | |
virtual | ~Equa () |
Destructor. | |
void | setMesh (Mesh &m) |
Define mesh and renumber DOFs after removing imposed ones. | |
Mesh & | getMesh () const |
Return reference to Mesh instance. More... | |
LinearSolver & | getLinearSolver () |
Return reference to linear solver instance. | |
Matrix< real_t > * | getMatrix () const |
Return pointer to matrix. | |
void | setSolver (Iteration ls, Preconditioner pc=IDENT_PREC) |
Choose solver for the linear system. More... | |
void | setMatrixType (int t) |
Choose type of matrix. More... | |
int | solveLinearSystem (Matrix< real_t > *A, Vect< real_t > &b, Vect< real_t > &x) |
Solve the linear system with given matrix and right-hand side. More... | |
int | solveLinearSystem (Vect< real_t > &b, Vect< real_t > &x) |
Solve the linear system with given right-hand side. More... | |
void | LinearSystemInfo () |
Print info on linear system solver. | |
Additional Inherited Members | |
![]() | |
void | MagneticPermeability (const real_t &mu) |
Set (constant) magnetic permeability. | |
void | MagneticPermeability (const string &exp) |
Set magnetic permeability given by an algebraic expression. | |
void | ElectricConductivity (const real_t &sigma) |
Set (constant) electric conductivity. | |
void | ElectricConductivity (const string &exp) |
set electric conductivity given by an algebraic expression | |
void | setMaterial () |
Set material properties. | |
Detailed Description
Eddy current problems in 2-D domains using solenoidal approximation.
Builds finite element arrays for time harmonic eddy current problems in 2-D domains with solenoidal configurations (Magnetic field has only one nonzero component). Magnetic field is constant in the vacuum, and then zero in the outer vacuum.
Uses 3-Node triangles.
The unknown is the time-harmonic magnetic induction (complex valued) but stored in 2-degree of freedom real-valued vector. Therefore, mesh must be defined with 2 degrees of freedom per node
- Copyright
- GNU Lesser Public License
Constructor & Destructor Documentation
◆ EC2D1T3() [1/2]
◆ EC2D1T3() [2/2]
Constructor using mesh and solution vector.
- Parameters
-
[in] ms Mesh instance [in,out] u Reference to solution vector instance
Member Function Documentation
◆ build()
void build | ( | ) |
Build the linear system of equations.
Before using this function, one must have properly selected appropriate options for:
- The choice of a steady state or transient analysis. By default, the analysis is stationary
- In the case of transient analysis, the choice of a time integration scheme and a lumped or consistent capacity matrix. If transient analysis is chosen, the lumped capacity matrix option is chosen by default, and the implicit Euler scheme is used by default for time integration.
◆ Electric()
void Electric | ( | real_t | coef = 1. | ) |
Add electric contribution to matrix.
- Parameters
-
[in] coef Coefficient to multiply by [Default: 1
]
◆ IntegND()
Compute integral of normal derivative on edge.
- Parameters
-
[in] h Vect instance containing magnetic field at nodes [in] vr Real part of the integral [in] vi Imaginary part of the integral
- Note
- This member function is to be called within each element, it detects boundary sides as the ones with nonzero code
◆ Magnetic()
void Magnetic | ( | real_t | coef = 1. | ) |
Add magnetic contribution to matrix.
- Parameters
-
[in] coef Coefficient to multiply by [Default: 1
]