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

Method eigen

SRC/runtime/runtime/BasicAnalysisBuilder.cpp:915–1034  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

913
914
915int
916BasicAnalysisBuilder::eigen(int numMode, bool generalized, bool findSmallest)
917{
918 // TODO: merge with newEigenAnalysis
919
920 assert(theAnalysisModel != nullptr);
921 assert( theEigenSOE != nullptr);
922
923 int result = 0;
924 Domain *the_Domain = this->getDomain();
925
926 // for parallel processing, want all analysis doing an eigenvalue analysis
927 result = the_Domain->eigenAnalysis(numMode, generalized, findSmallest);
928
929 int stamp = the_Domain->hasDomainChanged();
930
931 if (stamp != domainStamp) {
932 //domainStamp = stamp; // commented out so domainChanged() gets called with integrator,
933 // which isnt updated here
934// result = this->domainChanged();
935
936 theAnalysisModel->clearAll();
937 theHandler->clearAll();
938
939 // Now invoke handle() on the constraint handler which
940 // causes the creation of FE_Element and DOF_Group objects
941 // and their addition to the AnalysisModel.
942 result = theHandler->handle();
943
944 // Now invoke number() on the numberer which causes
945 // equation numbers to be assigned to all the DOFs in the
946 // AnalysisModel.
947 result = theNumberer->numberDOF();
948
949 result = theHandler->doneNumberingDOF();
950
951 Graph &theGraph = theAnalysisModel->getDOFGraph();
952
953 result = theSOE->setSize(theGraph);
954
955 result = theEigenSOE->setSize(theGraph);
956
957 theAnalysisModel->clearDOFGraph();
958
959 if (result < 0) {
960 opserr << "BasicAnalysisBuilder::eigen() - domainChanged failed\n";
961 return -1;
962 }
963 }
964
965 //
966 // zero A and M
967 //
968 theEigenSOE->zeroA();
969 theEigenSOE->zeroM();
970
971 //
972 // form K

Callers 2

eigenAnalysisFunction · 0.45
modalDampingFunction · 0.45

Calls 15

getDomainMethod · 0.95
getIDMethod · 0.80
eigenAnalysisMethod · 0.45
hasDomainChangedMethod · 0.45
clearAllMethod · 0.45
handleMethod · 0.45
numberDOFMethod · 0.45
doneNumberingDOFMethod · 0.45
setSizeMethod · 0.45
clearDOFGraphMethod · 0.45
zeroAMethod · 0.45
zeroMMethod · 0.45

Tested by

no test coverage detected