Skip to content
Snippets Groups Projects

Migrate from dune-fufem to dune-functions bases

Merged Nebel, Lisa Julia requested to merge lnebel/dune-gfe:migration into master
Compare and Show latest version
1 file
+ 7
7
Compare changes
  • Side-by-side
  • Inline
@@ -179,10 +179,10 @@ int main (int argc, char *argv[])
geometriesOnShellBoundary.insert({id, boundaryGeometry});
}
std::function<double(Dune::FieldVector<double,dim>)> thicknessF = [](Dune::FieldVector<double,dim> x) {return 1.0;};
std::function<double(Dune::FieldVector<double,dim>)> thicknessF = [](Dune::FieldVector<double,dim> x) {return 1.282;};
Dune::FieldVector<double,2> lame(0);
lame[0] = 1.0;
lame[1] = 2.0;
lame[0] = 4.22E+06;
lame[1] = 8.57E+06;
std::function<Dune::FieldVector<double,2>(Dune::FieldVector<double,dim>)> lameF = [lame](Dune::FieldVector<double,dim> x) {return lame;};
auto surfaceCosseratEnergy = std::make_shared<SurfaceCosseratEnergy<CompositeBasis, DiffVector, ValueType>>(
@@ -254,10 +254,10 @@ int main (int argc, char *argv[])
double matrixMixedFrobeniusNorm = hessianMatrixMixed.frobenius_norm();
//These values were taken from assembling using a fufem-basis
double expectedEnergy = 0.103846154;
double expectedGradientTwoNorm = 0.526624705;
double expectedGradientInfinityNorm = 0.230769231;
double expectedMatrixFrobeniusNorm = 1718346.31;
double expectedEnergy = 563243.074;
double expectedGradientTwoNorm = 2857597.54;
double expectedGradientInfinityNorm = 1251651.27;
double expectedMatrixFrobeniusNorm = 1.63129339e+09;
if ( std::abs(energy - expectedEnergy)/expectedEnergy > 1e-4 || std::abs(energy - energyMixed)/energyMixed > 1e-4)
{
Loading