form residual and tangent
| 1409 | |
| 1410 | //form residual and tangent |
| 1411 | void |
| 1412 | ShellNLDKGQ::formResidAndTangent( int tang_flag ) |
| 1413 | { |
| 1414 | // |
| 1415 | //six(6) nodal dof's ordered: |
| 1416 | //----------- |
| 1417 | //| u1 | <---- plate membrane |
| 1418 | //| u2 | |
| 1419 | //|----------| |
| 1420 | //| w = u3 | <----plate bending |
| 1421 | //| theta1 | |
| 1422 | //| theta2 | |
| 1423 | //|----------| |
| 1424 | //| theta3 | <- drill (tran from membrane) |
| 1425 | //|----------| |
| 1426 | // membrane strains ordered : |
| 1427 | // |
| 1428 | // strain(0) = eps00 i.e. (11)-strain |
| 1429 | // strain(1) = eps11 i.e. (22)-strain |
| 1430 | // strain(2) = gamma01 i.e. (12)-shear |
| 1431 | // |
| 1432 | // curvatures and shear strains ordered : |
| 1433 | // |
| 1434 | // strain(3) = kappa00 i.e. (11)-curvature |
| 1435 | // strain(4) = kappa11 i.e. (22)-curvature |
| 1436 | // strain(5) = 2*kappa01 i.e. 2*(12)-curvature |
| 1437 | // |
| 1438 | // strain(6) = gamma02 i.e. (13)-shear |
| 1439 | // strain(7) = gamma12 i.e. (23)-shear |
| 1440 | // |
| 1441 | // same ordering for moments/shears but no 2 |
| 1442 | // |
| 1443 | // Then, |
| 1444 | // epsilon00 = -z * kappa00 + eps00_membrane |
| 1445 | // epsilon11 = -z * kappa11 + eps11_membrane |
| 1446 | // gamma01 = 2*epsilon01 = -z * (2*kappa01) + gamma01_membrane |
| 1447 | // |
| 1448 | // Shear strains gamma02, gamma12 constant through cross section |
| 1449 | // neglected in this shell element Zero(); |
| 1450 | // |
| 1451 | static const int ndf = 6; //two membrane + 3 moment +drill |
| 1452 | |
| 1453 | static const int nstress = 8; //3 membrane , 3 moment, 2 shear |
| 1454 | |
| 1455 | static const int ngauss = 4; |
| 1456 | |
| 1457 | static const int numnodes = 4; |
| 1458 | |
| 1459 | int i,j,k,p,q; |
| 1460 | int jj,kk; |
| 1461 | int jlast,jnew; //add for geometric nonlinearity |
| 1462 | |
| 1463 | int p1,q1; |
| 1464 | |
| 1465 | int p2,q2; |
| 1466 | |
| 1467 | int p3,q3; |
| 1468 |
nothing calls this directly
no test coverage detected