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

Method commitSensitivity

SRC/material/nD/BeamFiberMaterial2d.cpp:357–427  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

355}
356
357int
358BeamFiberMaterial2d::commitSensitivity(const Vector &depsdh, int gradIndex,
359 int numGrads)
360{
361 static Vector dstraindh(6);
362
363 const Matrix &threeDtangent = theMaterial->getTangent();
364
365 static Matrix dd22(4,4);
366 dd22(0,0) = threeDtangent(1,1);
367 dd22(1,0) = threeDtangent(2,1);
368 dd22(2,0) = threeDtangent(4,1);
369 dd22(3,0) = threeDtangent(5,1);
370
371 dd22(0,1) = threeDtangent(1,2);
372 dd22(1,1) = threeDtangent(2,2);
373 dd22(2,1) = threeDtangent(4,2);
374 dd22(3,1) = threeDtangent(5,2);
375
376 dd22(0,2) = threeDtangent(1,4);
377 dd22(1,2) = threeDtangent(2,4);
378 dd22(2,2) = threeDtangent(4,4);
379 dd22(3,2) = threeDtangent(5,4);
380
381 dd22(0,3) = threeDtangent(1,5);
382 dd22(1,3) = threeDtangent(2,5);
383 dd22(2,3) = threeDtangent(4,5);
384 dd22(3,3) = threeDtangent(5,5);
385
386 static Matrix dd21(4,2);
387 dd21(0,0) = threeDtangent(1,0);
388 dd21(1,0) = threeDtangent(2,0);
389 dd21(2,0) = threeDtangent(4,0);
390 dd21(3,0) = threeDtangent(5,0);
391
392 dd21(0,1) = threeDtangent(1,3);
393 dd21(1,1) = threeDtangent(2,3);
394 dd21(2,1) = threeDtangent(4,3);
395 dd21(3,1) = threeDtangent(5,3);
396
397 static Vector sigma2(4);
398 sigma2.addMatrixVector(0.0, dd21, depsdh, -1.0);
399
400 const Vector &threeDstress = theMaterial->getStressSensitivity(gradIndex, true);
401 //opserr << threeDstress;
402 sigma2(0) -= threeDstress(1);
403 sigma2(1) -= threeDstress(2);
404 sigma2(2) -= threeDstress(4);
405 sigma2(3) -= threeDstress(5);
406
407 //const Vector &threeDstress2 = theMaterial->getStressSensitivity(gradIndex, false);
408 //opserr << threeDstress2;
409 //sigma2(0) += threeDstress2(1);
410 //sigma2(1) += threeDstress2(2);
411 //sigma2(2) += threeDstress2(4);
412 //sigma2(3) += threeDstress2(5);
413
414

Callers

nothing calls this directly

Calls 4

getTangentMethod · 0.45
addMatrixVectorMethod · 0.45
getStressSensitivityMethod · 0.45
SolveMethod · 0.45

Tested by

no test coverage detected