Skip to content
Snippets Groups Projects
Commit d608f61c authored by oliver.sander_at_tu-dresden.de's avatar oliver.sander_at_tu-dresden.de
Browse files

Replace AmiraMesh output by VTK output

Nobody I know still uses AmiraMesh.
parent 6c36088a
Branches
No related tags found
No related merge requests found
...@@ -5,12 +5,13 @@ ...@@ -5,12 +5,13 @@
#include <dune/common/parametertreeparser.hh> #include <dune/common/parametertreeparser.hh>
#include <dune/grid/uggrid.hh> #include <dune/grid/uggrid.hh>
#include <dune/grid/io/file/amirameshwriter.hh>
#include <dune/grid/io/file/amirameshreader.hh> #include <dune/grid/io/file/amirameshreader.hh>
#include <dune/grid/io/file/vtk.hh>
#include <dune/istl/io.hh> #include <dune/istl/io.hh>
#include <dune/functions/functionspacebases/lagrangebasis.hh> #include <dune/functions/functionspacebases/lagrangebasis.hh>
#include <dune/functions/gridfunctions/discreteglobalbasisfunction.hh>
#include <dune/fufem/functiontools/gridfunctionadaptor.hh> #include <dune/fufem/functiontools/gridfunctionadaptor.hh>
#include <dune/fufem/functions/coarsegridfunctionwrapper.hh> #include <dune/fufem/functions/coarsegridfunctionwrapper.hh>
...@@ -130,8 +131,13 @@ int main (int argc, char *argv[]) try ...@@ -130,8 +131,13 @@ int main (int argc, char *argv[]) try
for (int i=0; i<minLevel; i++) for (int i=0; i<minLevel; i++)
grid->globalRefine(1); grid->globalRefine(1);
// initial solution using P1Basis = Dune::Functions::LagrangeBasis<GridView,1>;
VectorType x(grid->size(dim)); P1Basis p1Basis(grid->leafGridView());
using FufemP1Basis = DuneFunctionsBasis<P1Basis>;
FufemP1Basis p1NodalBasis(p1Basis);
// initial iterate
VectorType x(p1Basis.size());
x = 0; x = 0;
// ////////////////////////////////////////////////// // //////////////////////////////////////////////////
...@@ -140,10 +146,6 @@ int main (int argc, char *argv[]) try ...@@ -140,10 +146,6 @@ int main (int argc, char *argv[]) try
while (true) { while (true) {
using P1Basis = Dune::Functions::LagrangeBasis<GridView,1>;
using FufemP1Basis = DuneFunctionsBasis<P1Basis>;
FufemP1Basis p1NodalBasis(grid->leafGridView());
// Determine fine Dirichlet and Neumann dofs // Determine fine Dirichlet and Neumann dofs
LeafBoundaryPatch leafDirichletBoundary(grid->leafGridView()); LeafBoundaryPatch leafDirichletBoundary(grid->leafGridView());
BoundaryPatchProlongator<GridType>::prolong(coarseDirichletBoundary, leafDirichletBoundary); BoundaryPatchProlongator<GridType>::prolong(coarseDirichletBoundary, leafDirichletBoundary);
...@@ -301,15 +303,12 @@ int main (int argc, char *argv[]) try ...@@ -301,15 +303,12 @@ int main (int argc, char *argv[]) try
} }
// Output result // Output result
#if HAVE_AMIRAMESH auto displacementFunction = Dune::Functions::makeDiscreteGlobalBasisFunction<FieldVector<double,dim> >(p1Basis, x);
LeafAmiraMeshWriter<GridType> amiramesh;
amiramesh.addLeafGrid(*grid,true); VTKWriter<GridView> vtkWriter(grid->leafGridView());
amiramesh.addVertexData(x, grid->leafGridView(),true); vtkWriter.addVertexData(displacementFunction, VTK::FieldInfo("displacement", VTK::FieldInfo::Type::vector, dim));
amiramesh.write("resultGrid",1); vtkWriter.write("linear-elasticity-result");
#else
#warning You need libamiramesh for this code!
#endif
} catch (Exception& e) } catch (Exception& e)
{ {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment