From f8a200bb45711316fee622af2069750754f810e7 Mon Sep 17 00:00:00 2001 From: Oliver Sander <sander@igpm.rwth-aachen.de> Date: Thu, 28 Nov 2013 09:18:00 +0000 Subject: [PATCH] Do the right thing if the 'neumannValues' parameter is not given [[Imported from SVN: r9551]] --- cosserat-continuum.cc | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/cosserat-continuum.cc b/cosserat-continuum.cc index 83bf4cd1..88709970 100644 --- a/cosserat-continuum.cc +++ b/cosserat-continuum.cc @@ -256,8 +256,10 @@ int main (int argc, char *argv[]) try // //////////////////////////////////////////////////////////// const ParameterTree& materialParameters = parameterSet.sub("materialParameters"); - NeumannFunction neumannFunction(parameterSet.get<FieldVector<double,3> >("neumannValues"), - homotopyParameter); + shared_ptr<NeumannFunction> neumannFunction; + if (parameterSet.hasKey("neumannValues")) + neumannFunction = make_shared<NeumannFunction>(parameterSet.get<FieldVector<double,3> >("neumannValues"), + homotopyParameter); std::cout << "Material parameters:" << std::endl; materialParameters.report(); @@ -267,7 +269,7 @@ int main (int argc, char *argv[]) try P1Basis::LocalFiniteElement, 3> cosseratEnergyLocalStiffness(materialParameters, &neumannBoundary, - &neumannFunction); + neumannFunction.get()); GeodesicFEAssembler<P1Basis,TargetSpace> assembler(grid->leafView(), &cosseratEnergyLocalStiffness); @@ -278,7 +280,7 @@ int main (int argc, char *argv[]) try P1Basis::LocalFiniteElement, 3,adouble> cosseratEnergyADOLCLocalStiffness(materialParameters, &neumannBoundary, - &neumannFunction); + neumannFunction.get()); LocalGeodesicFEADOLCStiffness<GridType::LeafGridView, P1Basis::LocalFiniteElement, TargetSpace> localGFEADOLCStiffness(&cosseratEnergyADOLCLocalStiffness); -- GitLab