RankTwoTensor
TensorMechanicsPlasticDruckerPrager::flowPotential(const RankTwoTensor & stress, Real intnl) const
{
  Real bbb_flow;
  onlyB(intnl, dilation, bbb_flow);
  return df_dsig(stress, bbb_flow);
}
RankTwoTensor
TensorMechanicsPlasticWeakPlaneTensile::flowPotential(const RankTwoTensor & /*stress*/, const Real & /*intnl*/) const
{
  RankTwoTensor df_dsig;
  df_dsig(2, 2) = 1.0;
  return df_dsig;
}
RankTwoTensor
TensorMechanicsPlasticWeakPlaneTensile::dyieldFunction_dstress(const RankTwoTensor & /*stress*/, const Real & /*intnl*/) const
{
  RankTwoTensor df_dsig;
  df_dsig(2, 2) = 1.0;
  return df_dsig;
}
RankTwoTensor
TensorMechanicsPlasticDruckerPrager::dyieldFunction_dstress(const RankTwoTensor & stress,
                                                            Real intnl) const
{
  Real bbb;
  onlyB(intnl, friction, bbb);
  return df_dsig(stress, bbb);
}
RankTwoTensor
TensorMechanicsPlasticSimpleTester::dyieldFunction_dstress(const RankTwoTensor & /*stress*/, const Real & /*intnl*/) const
{
  RankTwoTensor df_dsig;
  df_dsig(1, 1) = _a;
  df_dsig(2, 2) = _b;
  df_dsig(0, 0) = _c;
  df_dsig(0, 1) = _d/2.0;
  df_dsig(1, 0) = _d/2.0;
  df_dsig(0, 2) = _e/2.0;
  df_dsig(2, 0) = _e/2.0;
  df_dsig(1, 2) = _f/2.0;
  df_dsig(2, 1) = _f/2.0;
  return df_dsig;
}
RankTwoTensor
TensorMechanicsPlasticWeakPlaneShear::flowPotential(const RankTwoTensor & stress, const Real & intnl) const
{
  return df_dsig(stress, tan_psi(intnl));
}
RankTwoTensor
TensorMechanicsPlasticWeakPlaneShear::dyieldFunction_dstress(const RankTwoTensor & stress, const Real & intnl) const
{
  return df_dsig(stress, tan_phi(intnl));
}
Exemplo n.º 8
0
RankTwoTensor
TensorMechanicsPlasticMeanCapTC::flowPotential(const RankTwoTensor & stress, Real intnl) const
{
  return df_dsig(stress, intnl);
}
Exemplo n.º 9
0
RankTwoTensor
TensorMechanicsPlasticMeanCapTC::dyieldFunction_dstress(const RankTwoTensor & stress, Real intnl) const
{
  return df_dsig(stress, intnl);
}
void
TensorMechanicsPlasticMohrCoulombMulti::flowPotentialV(const RankTwoTensor & stress, Real intnl, std::vector<RankTwoTensor> & r) const
{
  const Real sinpsi = std::sin(psi(intnl));
  df_dsig(stress, sinpsi, r);
}
void
TensorMechanicsPlasticMohrCoulombMulti::dyieldFunction_dstressV(const RankTwoTensor & stress, Real intnl, std::vector<RankTwoTensor> & df_dstress) const
{
  const Real sinphi = std::sin(phi(intnl));
  df_dsig(stress, sinphi, df_dstress);
}