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

Method formResidAndTangent

SRC/element/shell/ShellMITC4.cpp:1328–1757  ·  view source on GitHub ↗

form residual and tangent

Source from the content-addressed store, hash-verified

1326
1327//form residual and tangent
1328void
1329ShellMITC4::formResidAndTangent( int tang_flag )
1330{
1331 //
1332 // six(6) nodal dof's ordered :
1333 //
1334 // - -
1335 // | u1 | <---plate membrane
1336 // | u2 |
1337 // |----------|
1338 // | w = u3 | <---plate bending
1339 // | theta1 |
1340 // | theta2 |
1341 // |----------|
1342 // | theta3 | <---drill
1343 // - -
1344 //
1345 // membrane strains ordered :
1346 //
1347 // strain(0) = eps00 i.e. (11)-strain
1348 // strain(1) = eps11 i.e. (22)-strain
1349 // strain(2) = gamma01 i.e. (12)-shear
1350 //
1351 // curvatures and shear strains ordered :
1352 //
1353 // strain(3) = kappa00 i.e. (11)-curvature
1354 // strain(4) = kappa11 i.e. (22)-curvature
1355 // strain(5) = 2*kappa01 i.e. 2*(12)-curvature
1356 //
1357 // strain(6) = gamma02 i.e. (13)-shear
1358 // strain(7) = gamma12 i.e. (23)-shear
1359 //
1360 // same ordering for moments/shears but no 2
1361 //
1362 // Then,
1363 // epsilon00 = -z * kappa00 + eps00_membrane
1364 // epsilon11 = -z * kappa11 + eps11_membrane
1365 // gamma01 = 2*epsilon01 = -z * (2*kappa01) + gamma01_membrane
1366 //
1367 // Shear strains gamma02, gamma12 constant through cross section
1368 //
1369
1370 static const int ndf = 6 ; //two membrane plus three bending plus one drill
1371
1372 static const int nstress = 8 ; //three membrane, three moment, two shear
1373
1374 static const int ngauss = 4 ;
1375
1376 static const int numnodes = 4 ;
1377
1378 int i, j, k, p, q ;
1379 int jj, kk ;
1380
1381 int success ;
1382
1383 double volume = 0.0 ;
1384
1385 static double xsj ; // determinant jacaobian matrix

Callers

nothing calls this directly

Calls 8

ZeroMethod · 0.45
addMatrixVectorMethod · 0.45
updateMethod · 0.45
getSectionTangentMethod · 0.45
addMatrixProductMethod · 0.45
getRhoMethod · 0.45

Tested by

no test coverage detected