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

Method analyze

SRC/runtime/commands/analysis/modal/ResponseSpectrumAnalysis.cpp:79–120  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

77}
78
79int
80ResponseSpectrumAnalysis::analyze()
81{
82 // get the domain
83 Domain* domain = m_domain;
84
85 // size info
86 int num_eigen = domain->getEigenvalues().Size();
87
88 // check consistency
89 int error_code;
90 error_code = check();
91 if (error_code < 0)
92 return error_code;
93
94 // loop over all required eigen-modes, compute the modal displacement
95 // and save the results.
96 // we just compute modal displacements without doing any (SRSS, CQC, etc..)
97 // modal combination otherwise derived results cannot be computed.
98 // for each mode, this analysis produces a new analysis step.
99 // modal combination of displacements (or any derived results)
100 // it's up to the user.
101 for (m_current_mode = 0; m_current_mode < num_eigen; ++m_current_mode)
102 {
103 // init the new step
104 error_code = beginMode();
105 if (error_code < 0) return error_code;
106
107 // compute modal acceleration for this mode using the
108 // provided response spectrum function (time series)
109 error_code = solveMode();
110 if (error_code < 0) return error_code;
111
112 // done with the current step.
113 // here the modal displacements will be recorded (and all other results
114 // if requested via recorders...)
115 error_code = endMode();
116 if (error_code < 0) return error_code;
117 }
118
119 return 0;
120}
121
122int
123ResponseSpectrumAnalysis::analyze(int mode_id)

Callers 2

analyzeModelFunction · 0.45
responseSpectrumAnalysisFunction · 0.45

Calls 1

SizeMethod · 0.45

Tested by

no test coverage detected