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

Function OPS_ASDCoupledHinge3D

SRC/material/section/ASDCoupledHinge3D.cpp:426–1086  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

424
425
426void* OPS_ASDCoupledHinge3D() {
427 static bool first_done = false;
428 if (!first_done) {
429 opserr << "Using ASDCoupledHinge3D - Developed by: Diego Talledo, Massimo Petracca, Guido Camata, ASDEA Software Technology\n";
430 first_done = true;
431 }
432
433 if (OPS_GetNumRemainingInputArgs() < 5) {
434 opserr << "WARNING insufficient arguments\n"
435 "Want: section ASDCoupledHinge3D tag? Ktor? Kvy? Kvz? Kax? -initialFlexuralStiffness \"Ky?\" \"Kz?\""
436 "<-simpleStrengthDomain Nmin? Nmax? MyMax? MzMax? NMMax?> <-strengthDomainByPoints nN? nTheta? {listN} {listMy} {listMz}> <-hardening as?>"
437 "-thetaP \"thetaPy?\" \"thetaPz?\" -thetaPC \"thetaPCy?\" \"thetaPCz?\""
438 "<-hystereticParams rDispP? rForceP? uForceP? rDispN? rForceN? uForceN?>"
439 "<-damageUnloadStiffness gk1? gk2? gk3? gk4? gklim?>"
440 "<-damageReloadStiffness gd1? gd2? gd3? gd4? gdlim?>"
441 "<-damageForce gf1? gf2? gf3? gf4? gflim?>"
442 "<-damageType type? ge?>\n";
443 return 0;
444 }
445
446 int tag;
447 int numdata = 1;
448 if (OPS_GetIntInput(&numdata, &tag) < 0) {
449 opserr << "WARNING invalid ASDCoupledHinge3D tag" << endln;
450 return 0;
451 }
452
453 numdata = 4;
454 double data[6];
455 if (OPS_GetDoubleInput(&numdata, data) < 0) {
456 opserr << "WARNING invalid double inputs\n"
457 "section ASDCoupledHinge3D: " << tag << endln;
458 return 0;
459 }
460 double Ktor = data[0];
461 double Kv_y = data[1];
462 double Kv_z = data[2];
463 double Kax = data[3];
464
465 //opserr << "Parsed mandatory data\n";
466
467 // start parsing all optional parameters:
468 // string tcl expression for initial stiffness: supported parameters for expressions:
469 // __N__ : committed axial load
470 // __Vy__ : commited shear load in local y direction
471 // __Vz__ : commited shear load in local z direction
472 // __My__ : commited moment in local y direciton
473 // __Mz__ : commited moment in local z direction
474 // __M__ : infers by itself the direction y or z
475 // __V__ : infers by itself the direction y or z
476
477 // an expression for effective stiffness in y and z local directions
478 bool yieldStiffnessDefined = false;
479 std::string theRawInitialStiffnessExpressionY;
480 std::string theRawInitialStiffnessExpressionZ;
481 std::string theInitialStiffnessExpressionY;
482 std::string theInitialStiffnessExpressionZ;
483

Callers 1

Calls 12

OPS_GetIntInputFunction · 0.50
OPS_GetDoubleInputFunction · 0.50
OPS_GetStringFunction · 0.50
OPS_GetDoubleListInputFunction · 0.50
setValueMethod · 0.45
printMethod · 0.45
PrintMethod · 0.45

Tested by

no test coverage detected