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