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

Method analyze

SRC/reliability/analysis/analysis/MultiDimVisPrincPlane.cpp:144–652  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

142
143}
144int MultiDimVisPrincPlane::analyze()
145{
146
147// --- type =0: Limit state surface -----
148// --- type =1: Limit function -------
149 if (type ==0){
150 opserr<<"not implemented yet."<<endln;
151 exit(-1);
152
153 }
154 // double tolFun =1.0e-6;
155
156// --1. create principalplanes, set grid info ----
157
158
159 if (thePrincipalPlanes[0]==0) {
160 for(int i =0; i<numOfPrinPlane; i++){
161
162 thePrincipalPlanes[i]=new PrincipalPlane(i+1, theDesignPoint,
163 0, 0, theProbabilityTransformation,
164 theGFunEvaluator, 0.0);
165 // thePrincipalPlanes[i]->setDesignPoint( theDesignPoint);
166
167 } ///
168 }
169
170
171 ofstream debug("debug.out" );
172
173
174 //2. --- compute and form Hessian by FDM; compute A, Rotation R, A=R*H*R'/|dG|, but one dim less.
175
176 int numRV = theReliabilityDomain->getNumberOfRandomVariables();
177
178 //if (theHessian ==0){
179 //theHessian = new Hessian(numRV, theReliabilityDomain,theProbabilityTransformation,
180 // theGFunEvaluator,theGradGEvaluator, 1.0e-5);
181 //theHessian->formReducedHessian(theDesignPtXSpace);
182 //}
183
184 if (HessianFileName !=0){ //recorder Hessian
185
186 Matrix tmpHessian(numRV, numRV);
187 //tmpHessian.addMatrix(0.0, theHessian->getHessianApproximation(), 1.0);
188
189 ofstream output(HessianFileName);
190
191 int ii=0;
192 int jj=0;
193
194 for(ii=0; ii<numRV; ii++){
195 for (jj=0; jj<numRV;jj++){
196 output << tmpHessian(jj,ii)<<endln ;
197 }
198
199 }
200 output.close();
201

Callers

nothing calls this directly

Calls 15

exitFunction · 0.85
performEigenAnalysisMethod · 0.80
setEigenVectorMethod · 0.80
getEigenVectorPtrMethod · 0.80
closeMethod · 0.45
NormMethod · 0.45
getEigenvalueMethod · 0.45
addVectorMethod · 0.45
setCurvatureMethod · 0.45
getCurvatureMethod · 0.45
copyValuesMethod · 0.45

Tested by

no test coverage detected