MCPcopy Create free account
hub / github.com/OpenSees/OpenSees / commitSensitivity

Method commitSensitivity

SRC/material/nD/J2PlateFibre.cpp:764–888  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

762}
763
764int
765J2PlateFibre::commitSensitivity(const Vector &depsdh, int gradIndex, int numGrads)
766{
767 if (SHVs == 0) {
768 SHVs = new Matrix(6,numGrads);
769 }
770
771 if (gradIndex >= SHVs->noCols()) {
772 //opserr << gradIndex << ' ' << SHVs->noCols() << endln;
773 return 0;
774 }
775
776 double twoG = E/(1+nu);
777 double G = 0.5*twoG;
778 double C00 = E/(1-nu*nu); double C11 = C00;
779 double C01 = nu*C00; double C10 = C01;
780
781 double dEdh = 0.0;
782 double dsigmaYdh = 0.0;
783 double dHkindh = 0.0;
784 double dHisodh = 0.0;
785 double dGdh = 0.0;
786 double dC00dh = 0.0;
787 double dC01dh = 0.0;
788
789 if (parameterID == 1) { // E
790 dEdh = 1.0;
791 dGdh = 0.5/(1+nu);
792 //double C00 = E/(1-nu*nu);
793 //double C01 = nu*C00;
794 dC00dh = 1.0/(1-nu*nu);
795 dC01dh = nu*dC00dh;
796 }
797 if (parameterID == 2) { // G (nu)
798 dGdh = 1.0;
799 dGdh = -0.5*E/(1.0 + 2*nu + nu*nu);
800 //double C00 = E/(1-nu*nu);
801 //double C01 = nu*C00;
802 dC00dh = -E/((1-nu*nu)*(1-nu*nu))*(-2*nu);
803 dC01dh = nu*dC00dh + C00;
804 }
805 if (parameterID == 5) {
806 dsigmaYdh = 1.0;
807 }
808 if (parameterID == 6) {
809 dHkindh = 1.0;
810 }
811 if (parameterID == 7) {
812 dHisodh = 1.0;
813 }
814
815 double depsPdh[5];
816 depsPdh[0] = 0.0;
817 depsPdh[1] = 0.0;
818 depsPdh[2] = 0.0;
819 depsPdh[3] = 0.0;
820 depsPdh[4] = 0.0;
821 double dalphadh = 0.0;

Callers

nothing calls this directly

Calls 2

noColsMethod · 0.45
SolveMethod · 0.45

Tested by

no test coverage detected