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

Function OPS_Newmark

SRC/analysis/integrator/Newmark.cpp:59–102  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

57static int count = 0;
58
59void *
60OPS_Newmark(void)
61{
62 // Pointer to a uniaxial material that will be returned
63 TransientIntegrator *theIntegrator = 0;
64
65 int argc = OPS_GetNumRemainingInputArgs();
66 if (argc != 2 && argc != 4) {
67 opserr << "WARNING - incorrect number of args want Newmark $gamma $beta <-form $typeUnknown>\n";
68 return 0;
69 }
70
71 int dispFlag = 1;
72 double dData[2];
73 int numData = 2;
74 if (OPS_GetDouble(&numData, dData) != 0) {
75 opserr << "WARNING - invalid args want Newmark $gamma $beta <-form $typeUnknown>\n";
76 return 0;
77 }
78
79 if (argc == 2)
80 theIntegrator = new Newmark(dData[0], dData[1]);
81 else {
82 // char nextString[10];
83 const char *nextString = OPS_GetString();
84 // OPS_GetString(nextString, 10);
85 if (strcmp(nextString,"-form") == 0) {
86 // OPS_GetString(nextString, 10);
87 nextString = OPS_GetString();
88 if ((nextString[0] == 'D') || (nextString[0] == 'd'))
89 dispFlag = 1;
90 else if ((nextString[0] == 'A') || (nextString[0] == 'a'))
91 dispFlag = 3;
92 else if ((nextString[0] == 'V') || (nextString[0] == 'v'))
93 dispFlag = 2;
94 }
95 theIntegrator = new Newmark(dData[0], dData[1], dispFlag);
96 }
97
98 if (theIntegrator == 0)
99 opserr << "WARNING - out of memory creating Newmark integrator\n";
100
101 return theIntegrator;
102}
103
104
105Newmark::Newmark(int classTag)

Callers 2

OPS_IntegratorFunction · 0.85
specifyIntegratorFunction · 0.85

Calls 2

OPS_GetStringFunction · 0.50

Tested by

no test coverage detected