149 const std::vector<Real> & intnl_old,
150 const std::vector<Real> & intnl,
151 const std::vector<Real> & pm,
153 std::vector<Real> &
f,
154 std::vector<RankTwoTensor> & r,
156 std::vector<Real> & ic,
157 const std::vector<bool> & active);
185 const std::vector<Real> & intnl_old,
186 const std::vector<Real> & intnl,
187 const std::vector<Real> & pm,
189 std::vector<Real> & rhs,
190 const std::vector<bool> & active,
192 std::vector<bool> & deactivated_due_to_ld);
198 const std::vector<Real> & intnl,
199 const std::vector<Real> & pm,
201 const std::vector<bool> & active,
202 const std::vector<bool> & deactivated_due_to_ld,
203 std::vector<std::vector<Real>> & jac);
223 const std::vector<Real> & intnl_old,
224 const std::vector<Real> & intnl,
225 const std::vector<Real> & pm,
229 std::vector<Real> & dpm,
230 std::vector<Real> & dintnl,
231 const std::vector<bool> & active,
232 std::vector<bool> & deactivated_due_to_ld);
249 virtual int singularValuesOfR(
const std::vector<RankTwoTensor> & r, std::vector<Real> & s);
266 const std::vector<Real> & intnl,
267 const std::vector<Real> &
f,
268 const std::vector<RankTwoTensor> & r,
269 const std::vector<bool> & active,
270 std::vector<bool> & deactivated_due_to_ld);
virtual void calculateRHS(const RankTwoTensor &stress, const std::vector< Real > &intnl_old, const std::vector< Real > &intnl, const std::vector< Real > &pm, const RankTwoTensor &delta_dp, std::vector< Real > &rhs, const std::vector< bool > &active, bool eliminate_ld, std::vector< bool > &deactivated_due_to_ld)
Calculate the RHS which is rhs = -(epp(0,0), epp(1,0), epp(1,1), epp(2,0), epp(2,1), epp(2,2), f[0], f[1], ..., f[num_f], ic[0], ic[1], ..., ic[num_ic])
virtual int singularValuesOfR(const std::vector< RankTwoTensor > &r, std::vector< Real > &s)
Performs a singular-value decomposition of r and returns the singular values.
Real _svd_tol
Tolerance on the minimum ratio of singular values before flow-directions are deemed linearly dependen...
virtual void calculateJacobian(const RankTwoTensor &stress, const std::vector< Real > &intnl, const std::vector< Real > &pm, const RankFourTensor &E_inv, const std::vector< bool > &active, const std::vector< bool > &deactivated_due_to_ld, std::vector< std::vector< Real >> &jac)
d(rhs)/d(dof)
virtual void eliminateLinearDependence(const RankTwoTensor &stress, const std::vector< Real > &intnl, const std::vector< Real > &f, const std::vector< RankTwoTensor > &r, const std::vector< bool > &active, std::vector< bool > &deactivated_due_to_ld)
Performs a number of singular-value decompositions to check for linear-dependence of the active direc...
MultiPlasticityLinearSystem computes the linear system and handles linear-dependence removal for use ...
MultiPlasticityRawComponentAssembler holds and computes yield functions, flow directions, etc, for use in FiniteStrainMultiPlasticity.
MultiPlasticityLinearSystem(const MooseObject *moose_object)
Real f(Real x)
Test function for Brents method.
static InputParameters validParams()
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
virtual void nrStep(const RankTwoTensor &stress, const std::vector< Real > &intnl_old, const std::vector< Real > &intnl, const std::vector< Real > &pm, const RankFourTensor &E_inv, const RankTwoTensor &delta_dp, RankTwoTensor &dstress, std::vector< Real > &dpm, std::vector< Real > &dintnl, const std::vector< bool > &active, std::vector< bool > &deactivated_due_to_ld)
Performs one Newton-Raphson step.
virtual void calculateConstraints(const RankTwoTensor &stress, const std::vector< Real > &intnl_old, const std::vector< Real > &intnl, const std::vector< Real > &pm, const RankTwoTensor &delta_dp, std::vector< Real > &f, std::vector< RankTwoTensor > &r, RankTwoTensor &epp, std::vector< Real > &ic, const std::vector< bool > &active)
The constraints.
Real _min_f_tol
Minimum value of the _f_tol parameters for the Yield Function User Objects.