Skip to content
Snippets Groups Projects
Commit a6200b5d authored by Ujwal Kishore Jinaga's avatar Ujwal Kishore Jinaga :clown:
Browse files

addedCheckCommutativity

parent 9eb4a604
No related branches found
No related tags found
No related merge requests found
...@@ -126,20 +126,20 @@ void mlawNonLinearTVP::getModifiedMandel(const STensor3& C, const IPNonLinearTVP ...@@ -126,20 +126,20 @@ void mlawNonLinearTVP::getModifiedMandel(const STensor3& C, const IPNonLinearTVP
M = 0.5*(corKir + temp2); M = 0.5*(corKir + temp2);
}; };
void mlawNonLinearTVP::checkCommutavity(const STensor3& C, const STensor3& S, const IPNonLinearTVP *q1) const{ void mlawNonLinearTVP::checkCommutavity(STensor3& commuteCheck,const STensor3& Ce, const STensor3& S, const IPNonLinearTVP *q1) const{
const STensor3& M = q1->getConstRefToModifiedMandel(); const STensor3& M = q1->getConstRefToModifiedMandel();
const STensor3& corKir = q1->getConstRefToCorotationalKirchhoffStress(); const STensor3& corKir = q1->getConstRefToCorotationalKirchhoffStress();
STensor3 temp1, temp2, temp3, temp4, temp5, temp6; STensor3 temp1, temp2, temp3, temp4, temp6;
STensorOperation::multSTensor3(C, S, temp1); STensorOperation::multSTensor3(Ce, S, temp1);
STensorOperation::multSTensor3(S, C, temp2); STensorOperation::multSTensor3(S, Ce, temp2);
STensorOperation::multSTensor3(corKir, C, temp3); STensorOperation::multSTensor3(corKir, Ce, temp3);
STensorOperation::multSTensor3(C, corKir, temp4); STensorOperation::multSTensor3(Ce, corKir, temp4);
// Check S // Check S
temp5 = temp1; commuteCheck = temp1;
temp5 -= temp2; commuteCheck -= temp2;
// Check corKir (just for fun) // Check corKir (just for fun)
temp6 = temp3; temp6 = temp3;
...@@ -1321,6 +1321,9 @@ void mlawNonLinearTVP::predictorCorrector_TVP_nonAssociatedFlow(const STensor3& ...@@ -1321,6 +1321,9 @@ void mlawNonLinearTVP::predictorCorrector_TVP_nonAssociatedFlow(const STensor3&
P(i,j) += Fe(i,k)*S(k,l)*Fpinv(j,l); P(i,j) += Fe(i,k)*S(k,l)*Fpinv(j,l);
} }
// check Commutavity
static STensor3 Check;
checkCommutavity(Check,Ce,S,q1);
// defo energy // defo energy
// q1->getRefToElasticEnergy()=deformationEnergy(*q1); // q1->getRefToElasticEnergy()=deformationEnergy(*q1);
......
...@@ -32,7 +32,7 @@ class mlawNonLinearTVP : public mlawNonLinearTVE{ ...@@ -32,7 +32,7 @@ class mlawNonLinearTVP : public mlawNonLinearTVE{
// NEW // NEW
virtual void hardening(const IPNonLinearTVP* q0, IPNonLinearTVP* q1, const double& T) const; virtual void hardening(const IPNonLinearTVP* q0, IPNonLinearTVP* q1, const double& T) const;
virtual void getModifiedMandel(const STensor3& C, const IPNonLinearTVP *q0_, IPNonLinearTVP *q1) const; virtual void getModifiedMandel(const STensor3& C, const IPNonLinearTVP *q0_, IPNonLinearTVP *q1) const;
virtual void checkCommutavity(const STensor3& C, const STensor3& S, const IPNonLinearTVP *q1) const; virtual void checkCommutavity(STensor3& commuteCheck, const STensor3& Ce, const STensor3& S, const IPNonLinearTVP *q1) const;
virtual void getChabocheCoeffs(fullVector<double>& coeffs, const double& opt, const IPNonLinearTVP *q1) const; virtual void getChabocheCoeffs(fullVector<double>& coeffs, const double& opt, const IPNonLinearTVP *q1) const;
virtual void getPlasticPotential(const double& phiP, const double& phiE, double& Px) const; virtual void getPlasticPotential(const double& phiP, const double& phiE, double& Px) const;
virtual void getYieldCoefficientTempDers(const IPNonLinearTVP *q1, const double& T, fullVector<double>& DcoeffsDT, fullVector<double>& DDcoeffsDTT) const; virtual void getYieldCoefficientTempDers(const IPNonLinearTVP *q1, const double& T, fullVector<double>& DcoeffsDT, fullVector<double>& DDcoeffsDTT) const;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment