Mechanics of Defect Evolution Library
Loading...
Searching...
No Matches
include
DislocationDynamics
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
11
#include <
DislocationVelocitySolverBase.h
>
12
#include <memory>
13
#include <Eigen/Dense>
14
#include <
ClusterDynamics.h
>
15
#include <
TypeTraits.h
>
16
#include <
ClusterDynamics/ClusterDynamicsParameters.h
>
17
18
19
namespace
model
20
{
21
template
<
int
dim>
class
DislocationNetwork
;
22
23
template
<
int
dim>
24
struct
DislocationClimbSolverBase
:
public
DislocationVelocitySolverBase
<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
;
30
const
double
glideEquilibriumRate
;
31
const
ClusterDynamics<dim>
*
const
CD
;
32
const
double
vClimbRef
;
33
34
DislocationClimbSolverBase
(
const
DislocationNetwork<dim>
&,
const
ClusterDynamics<dim>
*
const
);
35
// const ClusterDynamics<dim>* getCD() const;
36
double
getVclimbRef
()
const
;
37
virtual
void
computeClimbScalarVelocities
(
const
bool
& updateStiffness) =0;
38
39
const
ScalarVelocitiesContainerType
&
scalarVelocities
()
const
;
40
ScalarVelocitiesContainerType
&
scalarVelocities
();
41
42
43
// virtual Eigen::VectorXd getNodeVelocities() const = 0;
44
};
45
46
template
<
int
dim>
47
struct
DislocationClimbSolverFactory
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
ClusterDynamics.h
ClusterDynamicsParameters.h
DislocationVelocitySolverBase.h
TypeTraits.h
model::DislocationNetwork
Definition
DislocationNetwork.h:78
model
Definition
DD_converter.dox:2
model::ClusterDynamics
Definition
ClusterDynamics.h:23
model::DislocationClimbSolverBase::glideEquilibriumRate
const double glideEquilibriumRate
Definition
DislocationClimbSolverFactory.h:30
model::DislocationClimbSolverBase::ScalarVelocitiesContainerType
std::vector< Eigen::Array< double, 1, ClusterDynamicsParameters< dim >::mSize > > ScalarVelocitiesContainerType
Definition
DislocationClimbSolverFactory.h:29
model::DislocationClimbSolverBase::vClimbRef
const double vClimbRef
Definition
DislocationClimbSolverFactory.h:32
model::DislocationClimbSolverBase::getVclimbRef
double getVclimbRef() const
Definition
DislocationClimbSolverFactory.cpp:48
model::DislocationClimbSolverBase::CD
const ClusterDynamics< dim > *const CD
Definition
DislocationClimbSolverFactory.h:31
model::DislocationClimbSolverBase::DislocationClimbSolverBase
DislocationClimbSolverBase(const DislocationNetwork< dim > &, const ClusterDynamics< dim > *const)
Definition
DislocationClimbSolverFactory.cpp:23
model::DislocationClimbSolverBase::scalarVelocities
const ScalarVelocitiesContainerType & scalarVelocities() const
Definition
DislocationClimbSolverFactory.cpp:36
model::DislocationClimbSolverBase::computeClimbScalarVelocities
virtual void computeClimbScalarVelocities(const bool &updateStiffness)=0
model::DislocationClimbSolverFactory
Definition
DislocationClimbSolverFactory.h:48
model::DislocationClimbSolverFactory::getClimbSolver
static std::shared_ptr< DislocationClimbSolverBase< dim > > getClimbSolver(const DislocationNetwork< dim > &DN, const std::string &solverType)
Definition
DislocationClimbSolverFactory.cpp:64
model::DislocationVelocitySolverBase::DislocationVelocitySolverBase
DislocationVelocitySolverBase(const DislocationNetwork< dim > &)
Definition
DislocationVelocitySolverBase.cpp:21
Generated by
1.15.0