8#ifndef model_DislocationClimbSolverFactory_cpp_
9#define model_DislocationClimbSolverFactory_cpp_
31 throw std::runtime_error(
"DislocationClimbSolverBase requires ClusterDynamics.");
51 const auto eqC(
CD->cdp.equilibriumMobileConcentration(0.0));
52 for(
const auto& pair :
CD->cdp.D)
54 const auto& dVec(pair.second);
55 for(
int m=0;
m<
CD->cdp.mSize;++
m)
57 vRef=std::max(vRef,dVec[
m].trace()*eqC[
m]/3.0/this->
DN.ddBase.poly.b);
69 if(solverType==
"Galerkin" || solverType==
"galerkin")
static std::string redBoldColor
static std::string defaultColor
const double glideEquilibriumRate
std::vector< Eigen::Array< double, 1, ClusterDynamicsParameters< dim >::mSize > > ScalarVelocitiesContainerType
double getVclimbRef() const
const ClusterDynamics< dim > *const CD
DislocationClimbSolverBase(const DislocationNetwork< dim > &, const ClusterDynamics< dim > *const)
const ScalarVelocitiesContainerType & scalarVelocities() const
static std::shared_ptr< DislocationClimbSolverBase< dim > > getClimbSolver(const DislocationNetwork< dim > &DN, const std::string &solverType)
const DislocationNetwork< dim > & DN
DislocationVelocitySolverBase(const DislocationNetwork< dim > &)