Topic: error in restoring context for simple model
Dear all,
I'm interested in the restart capabilities in OOFEM, and I'm trying a simple model with a Beam3d element (see attachment) with the following commands:
1. oofem -f testSEQall.in -c
and then
2. oofem -f testSEQall.in -r 11
Since the restart AFAIK is not well documented (correct me if I'm wrong, I found nothing in the user's manual) I have some doubts:
a. in the command line (1.), can I specify the step in which the analysis has to stop, or I have to perform all the steps?
b. are modifications in the structures accepted? or do I have to use the restart for adaptive analysis? (what exactly is this?)
c. in the command line (2.), there's an error with the following stack:
oofem.dll!oofem::CrossSection::give(oofem::CrossSectionProperty aProperty, oofem::GaussPoint * gp) Riga 157 C++
oofem.dll!oofem::SimpleCrossSection::give(oofem::CrossSectionProperty a, oofem::GaussPoint * gp) Riga 154 C++
> oofem.dll!oofem::SimpleCrossSection::give3dBeamStiffMtrx(oofem::FloatMatrix & answer, oofem::MatResponseMode rMode, oofem::GaussPoint * gp, oofem::TimeStep * tStep) Riga 347 C++
oofem.dll!oofem::Beam3d::computeConstitutiveMatrixAt(oofem::FloatMatrix & answer, oofem::MatResponseMode rMode, oofem::GaussPoint * gp, oofem::TimeStep * tStep) Riga 696 C++
oofem.dll!oofem::Beam3d::computeKappaCoeffs(oofem::TimeStep * tStep) Riga 447 C++
oofem.dll!oofem::Beam3d::giveKappayCoeff(oofem::TimeStep * tStep) Riga 471 C++
oofem.dll!oofem::Beam3d::computeBmatrixAt(oofem::GaussPoint * gp, oofem::FloatMatrix & answer, int li, int ui) Riga 103 C++
oofem.dll!oofem::Beam3d::computeClampedStiffnessMatrix(oofem::FloatMatrix & answer, oofem::MatResponseMode rMode, oofem::TimeStep * tStep) Riga 238 C++
oofem.dll!oofem::Beam3d::computeLocalStiffnessMatrix(oofem::FloatMatrix & answer, oofem::MatResponseMode rMode, oofem::TimeStep * tStep) Riga 207 C++
oofem.dll!oofem::Beam3d::computeStiffnessMatrix(oofem::FloatMatrix & answer, oofem::MatResponseMode rMode, oofem::TimeStep * tStep) Riga 218 C++
oofem.dll!oofem::StructuralElement::giveCharacteristicMatrix(oofem::FloatMatrix & answer, oofem::CharType mtrx, oofem::TimeStep * tStep) Riga 891 C++
oofem.dll!oofem::TangentAssembler::matrixFromElement(oofem::FloatMatrix & mat, oofem::Element & element, oofem::TimeStep * tStep) Riga 205 C++
oofem.dll!oofem::EngngModel::assemble(oofem::SparseMtrx & answer, oofem::TimeStep * tStep, const oofem::MatrixAssembler & ma, const oofem::UnknownNumberingScheme & s, oofem::Domain * domain) Riga 838 C++
oofem.dll!oofem::NonLinearStatic::assemble(oofem::SparseMtrx & answer, oofem::TimeStep * tStep, const oofem::MatrixAssembler & ma, const oofem::UnknownNumberingScheme & s, oofem::Domain * domain) Riga 788 C++
oofem.dll!oofem::NonLinearStatic::updateComponent(oofem::TimeStep * tStep, oofem::NumericalCmpn cmpn, oofem::Domain * d) Riga 567 C++
oofem.dll!oofem::NRSolver::solve(oofem::SparseMtrx & k, oofem::FloatArray & R, oofem::FloatArray * R0, oofem::FloatArray & X, oofem::FloatArray & dX, oofem::FloatArray & F, const oofem::FloatArray & internalForcesEBENorm, double & l, oofem::SparseNonLinearSystemNM::referenceLoadInputModeType rlm, int & nite, oofem::TimeStep * tStep) Riga 239 C++
oofem.dll!oofem::NonLinearStatic::proceedStep(int di, oofem::TimeStep * tStep) Riga 537 C++
oofem.dll!oofem::NonLinearStatic::solveYourselfAt(oofem::TimeStep * tStep) Riga 362 C++
oofem.dll!oofem::EngngModel::solveYourself() Riga 553 C++
oofem.dll!oofem::NonLinearStatic::solveYourself() Riga 355 C++
The error, in other words, is that the property CS_Area has not been saved.
In crosssection.C I cannot find the method called "saveContext". May I have to overload it in crosssection.C? If not, where? If yes, how to save propertyDictionary?
d. finally, is restart possible between different types of analyses? I need to perform a static NL to apply vertical loads, and then a dynamic NL.
EDIT: By reading the code, it seems the same kind of analysis has to be used. If so, can the eta parameter (mass damping) be changed at restart?
thanks