diff --git a/cosserat-continuum.cc b/cosserat-continuum.cc index a7ebf1bb936cc53ca746d73af2d0992b4a4a1c50..51e422d865b971c2f7e53471f1219f563d2f37ef 100644 --- a/cosserat-continuum.cc +++ b/cosserat-continuum.cc @@ -36,6 +36,7 @@ #include <dune/gfe/localgeodesicfeadolcstiffness.hh> #include <dune/gfe/cosseratenergystiffness.hh> #include <dune/gfe/cosseratvtkwriter.hh> +#include <dune/gfe/cosseratvtkreader.hh> #include <dune/gfe/geodesicfeassembler.hh> #include <dune/gfe/riemanniantrsolver.hh> @@ -208,6 +209,10 @@ int main (int argc, char *argv[]) try SolutionType x(feBasis.size()); + if (parameterSet.hasKey("startFromFile")) + { + GFE::CosseratVTKReader::read(x, parameterSet.get<std::string>("initialIterateFilename")); + } else { lambda = std::string("lambda x: (") + parameterSet.get<std::string>("initialDeformation") + std::string(")"); PythonFunction<FieldVector<double,dim>, FieldVector<double,3> > pythonInitialDeformation(Python::evaluate(lambda)); @@ -216,6 +221,7 @@ int main (int argc, char *argv[]) try for (size_t i=0; i<x.size(); i++) x[i].r = v[i]; + } //////////////////////////////////////////////////////// // Main homotopy loop