|
PLaSK library
|
#include <plask/common/fem/fem_solver.hpp>
Public Member Functions | |
| FemSolverWithMaskedMesh (const std::string &name="") | |
| EmptyElementsHandling | getEmptyElements () const |
| Are we using full mesh? | |
| void | setEmptyElements (EmptyElementsHandling val) |
| Set whether we should use full mesh. | |
| bool | parseFemConfiguration (XMLReader &reader, Manager &manager) |
| void | setupMaskedMesh () |
| void | onInitialize () |
| Initialize the solver. | |
| FemMatrix * | getMatrix () |
| FemMatrix * | getMatrix () |
Public Member Functions inherited from plask::FemSolverWithMesh< SpaceT, MeshT > | |
| FemSolverWithMesh (const std::string &name="") | |
| bool | parseFemConfiguration (XMLReader &reader, Manager &manager) |
| FemMatrix * | getMatrix () |
| FemMatrix * | getMatrix () |
Public Member Functions inherited from plask::SolverWithMesh< SpaceT, MeshT > | |
| SolverWithMesh (const std::string &name="") | |
| ~SolverWithMesh () | |
| void | loadConfiguration (XMLReader &source, Manager &manager) override |
Load configuration from given source. | |
| void | parseStandardConfiguration (XMLReader &source, Manager &manager, const std::string &expected_msg="solver configuration element") |
| virtual void | onMeshChange (const typename MeshT::Event &PLASK_UNUSED(evt)) |
| This method is called just after the mesh has been changed. | |
| void | onGeometryChange (const Geometry::Event &PLASK_UNUSED(evt)) override |
| This method is called when the geometry is changed. | |
| MeshT & | meshRef () const |
| Get current module mesh. | |
| shared_ptr< MeshT > | getMesh () const |
| Get current solver mesh. | |
| void | setMesh (const shared_ptr< MeshT > &mesh) |
| Set new mesh for the solver. | |
| void | setMesh (shared_ptr< MeshGeneratorD< MeshT::DIM > > generator) |
| Set new mesh got from generator. | |
Public Member Functions inherited from plask::SolverOver< SpaceT > | |
| SolverOver (const std::string &name="") | |
| ~SolverOver () | |
| void | parseStandardConfiguration (XMLReader &source, Manager &manager, const std::string &expected_msg="solver configuration element") |
| virtual void | onGeometryChange (const Geometry::Event &) |
| This method is called when the geometry is changed. | |
| shared_ptr< SpaceT > | getGeometry () const |
| Get current solver geometry space. | |
| void | setGeometry (const shared_ptr< SpaceT > &geometry) |
| Set new geometry for the solver. | |
Public Member Functions inherited from plask::Solver | |
| bool | initCalculation () |
| This should be called on beginning of each calculation method to ensure that solver will be initialized. | |
| Solver (const std::string &name="") | |
| Construct uninitialized solver. | |
| virtual | ~Solver () |
| Virtual destructor (for subclassing). Do nothing. | |
| void | parseStandardConfiguration (XMLReader &source, Manager &manager, const std::string &expected_msg="solver configuration element") |
Load standard configuration (geometry, mesh) tags from source. | |
| bool | isInitialized () |
| Check if solver is already initialized. | |
| void | invalidate () |
| This method should be and is called if something important was changed: calculation space, mesh, etc. | |
| virtual std::string | getClassName () const =0 |
| Get name of solver. | |
| std::string | getId () const |
| Get solver id. | |
| std::string | getName () const |
| virtual std::string | getClassDescription () const |
| Get a description of this solver. | |
| template<typename ArgT = double, typename ValT = double> | |
| DataLog< ArgT, ValT > | dataLog (const std::string &chart_name, const std::string &axis_arg_name, const std::string &axis_val_name) |
| template<typename ArgT = double, typename ValT = double> | |
| DataLog< ArgT, ValT > | dataLog (const std::string &axis_arg_name, const std::string &axis_val_name) |
| template<typename ... Args> | |
| void | writelog (LogLevel level, std::string msg, Args &&... params) const |
| Log a message for this solver. | |
Protected Attributes | |
| plask::shared_ptr< RectangularMaskedMesh< MeshT::DIM > > | maskedMesh = plask::make_shared<RectangularMaskedMesh<MeshT::DIM>>() |
| EmptyElementsHandling | empty_elements = EMPTY_ELEMENTS_DEFAULT |
| Should we use full mesh? | |
Protected Attributes inherited from plask::SolverWithMesh< SpaceT, MeshT > | |
| shared_ptr< MeshT > | mesh |
| Mesh over which the calculations are performed. | |
| boost::signals2::connection | mesh_signal_connection |
| Connection of mesh to onMeshChange method, see http://www.boost.org/doc/libs/1_55_0/doc/html/signals2/tutorial.html#idp204830936. | |
Protected Attributes inherited from plask::SolverOver< SpaceT > | |
| shared_ptr< SpaceT > | geometry |
| Space in which the calculations are performed. | |
Protected Attributes inherited from plask::Solver | |
| bool | initialized |
true only if solver is initialized | |
Additional Inherited Members | |
Public Types inherited from plask::SolverWithMesh< SpaceT, MeshT > | |
| typedef MeshT | MeshType |
| Type of the mesh for this solver. | |
Public Types inherited from plask::SolverOver< SpaceT > | |
| typedef SpaceT | SpaceType |
| of the space for this solver | |
Public Attributes inherited from plask::FemSolverWithMesh< SpaceT, MeshT > | |
| FemMatrixAlgorithm | algorithm = ALGORITHM_CHOLESKY |
| Factorization algorithm to use. | |
| IterativeMatrixParams | iter_params |
| Parameters of iterative solver. | |
Protected Member Functions inherited from plask::SolverOver< SpaceT > | |
| template<typename Boundary , typename ConditionT > | |
| void | readBoundaryConditions (Manager &manager, XMLReader &reader, BoundaryConditions< Boundary, ConditionT > &dest) |
| Read boundary conditions using information about the geometry of this solver. | |
Protected Member Functions inherited from plask::Solver | |
| virtual void | onInvalidate () |
| This method is called by invalidate() to reset stored values. | |
Definition at line 145 of file fem_solver.hpp.
|
inline |
Definition at line 149 of file fem_solver.hpp.
|
inline |
Are we using full mesh?
Definition at line 157 of file fem_solver.hpp.
|
inline |
Definition at line 196 of file fem_solver.hpp.
|
inline |
Definition at line 219 of file fem_solver.hpp.
|
inlinevirtual |
Initialize the solver.
Default implementation just does nothing, however it is a good idea to overwrite it in subclasses and put initialization code in it.
Reimplemented from plask::Solver.
Reimplemented in plask::thermal::tstatic::ThermalFem2DSolver< Geometry2DType >, and plask::thermal::tstatic::ThermalFem3DSolver.
Definition at line 191 of file fem_solver.hpp.
|
inline |
Definition at line 164 of file fem_solver.hpp.
|
inline |
Set whether we should use full mesh.
Definition at line 159 of file fem_solver.hpp.
|
inline |
Definition at line 182 of file fem_solver.hpp.
|
protected |
Should we use full mesh?
Definition at line 153 of file fem_solver.hpp.
|
protected |
Definition at line 152 of file fem_solver.hpp.