Implements the solver for magnetic vector potential, \(\vec{A}\), in the Method of manufactured solutions, vector potential (mms-vt-i/) numerical experiment. More...
#include <solver.hpp>


Public Member Functions | |
| SolverMMSVTI_A (unsigned int p, unsigned int mapping_degree, const Triangulation< 3 > &triangulation_T, const DoFHandler< 3 > &dof_handler_T, const Vector< double > &solution_T, unsigned int r, std::string fname) | |
Public Member Functions inherited from StaticVectorSolver::Solver2< 3, 2 > | |
| Solver2 (unsigned int p, unsigned int mapping_degree, const Triangulation< dim > &triangulation_T, const DoFHandler< dim > &dof_handler_T, const Vector< double > &solution_T, unsigned int type_of_pde_rhs=0, double eta_squared=0.0, std::string fname="data", const Function< dim > *exact_solution=nullptr, bool print_time_tables=false, bool project_exact_solution=false, bool write_higher_order_cells=false) | |
| The only constructor. More... | |
| void | setup () |
| Initializes system matrix and the right-hand side vector. More... | |
| void | assemble () |
| Assembles the system matrix and the right-hand side vector. | |
| void | compute_error_norms () |
| Computes error norms. | |
| void | project_exact_solution_fcn () |
| Projects exact solution. More... | |
| void | save () const |
| Saves simulation results into a vtk file. More... | |
| void | save_matrix_and_rhs_to_csv (std::string fname) const |
| Saves the system matrix and the right-hand side into a csv file. More... | |
| void | clear () |
| Releases computer memory associated with system matrix and right-hand side. | |
| const DoFHandler< dim > & | get_dof_handler () const |
| Returns a reference to a dof handler. | |
| const Vector< double > & | get_solution () const |
| Returns a reference to solution. | |
| unsigned int | get_n_cells () const |
| Returns the number of active cells in the mesh. | |
| unsigned int | get_n_dofs () const |
| Returns the total amount of the degrees of freedom. | |
| double | get_L2_norm () const |
| Returns \(L^2\) error norm. | |
| double | get_Linfty_norm () const |
| Returns \(L^{\infty}\) error norm. | |
| unsigned int | get_mapping_degree () const |
| Returns degree of the interpolating Lagrange polynomials used for mapping from the reference cell to the real mesh cell and back. | |
| void | run () |
| Runs the simulation. More... | |
Additional Inherited Members | |
Public Attributes inherited from SettingsMMSVTI | |
| const unsigned int | nr_threads_max = 0 |
| If greater than zero, limits the amount of threads used in the simulations. | |
| const double | mu_0 = permeability_fs |
| The permeability of free space. | |
| const double | k = 1.0 * pi |
| The scaling parameter. | |
| const double | d1 = 0.25 |
| The half-side of the cube in the middle of the spherical mesh. | |
| const double | rd1 = sqrt(3) * d1 |
| The radius of the circle (sphere) that encloses the square (cube) in the middle of the mesh. | |
| const types::boundary_id | bid_dirichlet = 1 |
| The Dirichlet boundary condition will be applied to the boundaries with ID = 1. | |
| const types::boundary_id | bid_robin = 2 |
| The Robin boundary condition will be applied to the boundaries with ID = 2. | |
| const double | eps = 1e-12 |
| Two values in double format are considered to be equal if the absolute value of their difference is less than eps. | |
| const bool | print_time_tables = false |
| If set to true, the program will print time tables on the screen. | |
| const bool | project_exact_solution = false |
| If set to true, the program will project the exact solution. More... | |
| const bool | log_cg_convergence = false |
| If set to true, saves the residual at each iteration of the CG solver. The names of the files fit the following wildcard *_cg_convergence.csv. More... | |
Public Attributes inherited from Constants::Physics | |
| const double | pi |
| The ratio between the circumference and the diameter of any circle, \(\pi\). More... | |
| const double | c = 299792458.0 |
| The speed of light in free space, \(c\). | |
| const double | permeability_fs = 4.0 * pi * 1.0e-7 |
| The permeability of the free space, \(\mu_0\). | |
| const double | permittivity_fs = 1.0 / (std::pow(c, 2) * permeability_fs) |
| The permittivity of the free space, \(\epsilon_0\). | |
Protected Attributes inherited from StaticVectorSolver::Solver2< 3, 2 > | |
| const Triangulation< dim > & | triangulation_T |
| Reference to the mesh. | |
| const DoFHandler< dim > & | dof_handler_T |
| Reference to the dof handler that describes the current vector potential, \(\vec{T}\). | |
| const Vector< double > & | solution_T |
| Reference to the degrees of freedom that describe the current vector potential, \(\vec{T}\). | |
| std::map< types::boundary_id, const Function< dim > * > | dirichlet_stack |
| A map that contains pairs of boundary IDs and the corresponding Dirichlet boundary conditions. All boundary IDs must be odd. | |
| const FE_Nedelec< dim > | fe |
| The finite elements. | |
| DoFHandler< dim > | dof_handler |
| The finite elements. | |
| Vector< double > | solution |
| The solution vector, that is, degrees of freedom yielded by the simulation. | |
| Vector< double > | projected_exact_solution |
| The projected exact solution vector. | |
| AffineConstraints< double > | constraints |
| The constraints associated with the Dirichlet boundary conditions. | |
| SparsityPattern | sparsity_pattern |
| The sparsity pattern of the system matrix. | |
| SparseMatrix< double > | system_matrix |
| The system matrix. | |
| Vector< double > | system_rhs |
| The system right-hand side vector. | |
| double | L2_norm |
| The \(L^2\) norm. | |
| double | Linfty_norm |
| The \(L^{\infty}\) norm. | |
Implements the solver for magnetic vector potential, \(\vec{A}\), in the Method of manufactured solutions, vector potential (mms-vt-i/) numerical experiment.
Definition at line 101 of file solver.hpp.
|
inline |
The constructor.
| [in] | p | - The degree of the Nedelec finite elements. |
| [in] | mapping_degree | - The degree of the interpolating polynomials used for mapping. |
| [in] | triangulation_T | - The triangulation created at the 0-th stage of the simulation. |
| [in] | dof_handler_T | - The dof handler created at the 0-th stage of the simulation. |
| [in] | solution_T | - The degrees of freedom that describe the current vector potential computed at the 0-th stage of the simulation. |
| [in] | r | - The parameter that encodes the degree of mesh refinement. Must coincide with one of the values set in mms-vt-i/gmsh/build. This parameter is used to compose the name of the mesh file to be uploaded from mms-vt-i/gmsh/data/. |
| [in] | fname | - The name of the vtu file without extension to save the data. |
Definition at line 127 of file solver.hpp.