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

Method formResidAndTangent

SRC/element/shell/ShellNLDKGTThermal.cpp:1574–2029  ·  view source on GitHub ↗

form residual and tangent

Source from the content-addressed store, hash-verified

1572
1573//form residual and tangent
1574void
1575ShellNLDKGTThermal::formResidAndTangent( int tang_flag )
1576{
1577 //
1578 //six(6) nodal dof's ordered:
1579 //-----------
1580 //| u1 | <---- plate membrane
1581 //| u2 |
1582 //|----------|
1583 //| w = u3 | <----plate bending
1584 //| theta1 |
1585 //| theta2 |
1586 //|----------|
1587 //| theta3 | <- drill (tran from membrane)
1588 //|----------|
1589 // membrane strains ordered :
1590
1591
1592 static const int ndf = 6; //two membrane + 3 moment +drill
1593
1594 static const int nstress = 8; //3 membrane , 3 moment, 2 shear
1595
1596 static const int ngauss = 4;
1597
1598 static const int numnodes = 3;
1599
1600 int i,j,k,p,q;
1601 int jj,kk;
1602 int jlast,jnew; //add for geometric nonlinearity
1603
1604 int p1,q1;
1605
1606 int p2,q2;
1607
1608 int p3,q3;
1609
1610 int pp,qq;
1611
1612 int success;
1613
1614 double volume = 0.0;
1615
1616 static double xsj; //determinant jacobian matrix
1617
1618 static double dvol[ngauss]; //volume element
1619
1620 //add for geometric nonlinearity
1621 static Vector incrDisp(ndf); //total displacement
1622
1623 static Vector Cstrain(nstress);//commit strain last step/ add for geometric nonlinearity
1624
1625 static Vector strain(nstress); //strain
1626
1627 //add for geometric nonlinearity
1628 static Vector dstrain(nstress); //total strain increment
1629 static Vector dstrain_li(nstress); //linear incr strain
1630 static Vector dstrain_nl(3);//geometric nonlinear strain
1631

Callers

nothing calls this directly

Calls 9

VectorClass · 0.50
ZeroMethod · 0.45
addMatrixProductMethod · 0.45
addMatrixVectorMethod · 0.45
NormMethod · 0.45
updateMethod · 0.45
getSectionTangentMethod · 0.45

Tested by

no test coverage detected