Mechanics of Defect Evolution Library
Loading...
Searching...
No Matches
DislocationClimbSolverFactory.h
Go to the documentation of this file.
1/* This file is part of MoDELib, the Mechanics Of Defects Evolution Library.
2 *
3 *
4 * MoDELib is distributed without any warranty under the
5 * GNU General Public License (GPL) v2 <http://www.gnu.org/licenses/>.
6 */
7
8#ifndef model_DislocationClimbSolverFactory_h_
9#define model_DislocationClimbSolverFactory_h_
10
12#include <memory>
13#include <Eigen/Dense>
14#include <ClusterDynamics.h>
15#include <TypeTraits.h>
17
18
19namespace model
20{
21 template<int dim> class DislocationNetwork;
22
23 template <int dim>
25 /* */,private std::vector<Eigen::Array<double,1,ClusterDynamicsParameters<TypeTraits<DislocationNetwork<dim>>::dim>::mSize>>
26
27 {
28// const DislocationNetwork<dim>& DN;
29 typedef std::vector<Eigen::Array<double,1,ClusterDynamicsParameters<dim>::mSize>> ScalarVelocitiesContainerType;
32 const double vClimbRef;
33
35// const ClusterDynamics<dim>* getCD() const;
36 double getVclimbRef() const;
37 virtual void computeClimbScalarVelocities(const bool& updateStiffness) =0;
38
41
42
43 // virtual Eigen::VectorXd getNodeVelocities() const = 0;
44 };
45
46 template <int dim>
48 {
49
50// static const ClusterDynamics<dim>* getCD(const DislocationNetwork<dim>& DN);
51
52 static std::shared_ptr<DislocationClimbSolverBase<dim>> getClimbSolver(const DislocationNetwork<dim>& DN, const std::string& solverType);
53 };
54
55}
56#endif
std::vector< Eigen::Array< double, 1, ClusterDynamicsParameters< dim >::mSize > > ScalarVelocitiesContainerType
const ClusterDynamics< dim > *const CD
DislocationClimbSolverBase(const DislocationNetwork< dim > &, const ClusterDynamics< dim > *const)
const ScalarVelocitiesContainerType & scalarVelocities() const
virtual void computeClimbScalarVelocities(const bool &updateStiffness)=0
static std::shared_ptr< DislocationClimbSolverBase< dim > > getClimbSolver(const DislocationNetwork< dim > &DN, const std::string &solverType)
DislocationVelocitySolverBase(const DislocationNetwork< dim > &)