Finite Element Domain Decomposition Library
FEDDLib
Loading...
Searching...
No Matches
ExporterParaViewAMR_decl.hpp
1#ifndef ExporterParaViewAMR_decl_hpp
2#define ExporterParaViewAMR_decl_hpp
3
4#include <fstream>
5#include "feddlib/core/FEDDCore.hpp"
6#include "feddlib/core/General/DefaultTypeDefs.hpp"
7#include "feddlib/core/LinearAlgebra/MultiVector.hpp"
8#include "feddlib/core/Mesh/Mesh.hpp"
9#include "feddlib/core/General/ExporterParaView.hpp"
10#include "feddlib/amr/ExporterParaViewAMR.hpp"
11// Trilinos
12#include <Teuchos_Array.hpp>
13
14#ifdef HAVE_MPI
15#include <mpi.h>
16#endif
17
26
27namespace FEDD {
28template <class SC = default_sc, class LO = default_lo, class GO = default_go, class NO = default_no>
29class ExporterParaViewAMR : public ExporterParaView<SC,LO,GO,NO> {
30public:
31 typedef std::vector<double> vec_dbl;
32 typedef std::vector<std::vector<double> > vec2D_dbl;
33 typedef std::vector<std::vector<int> > vec2D_int;
34 typedef std::vector<std::vector<long long> > vec2D_longlong;
35 typedef Teuchos::RCP<std::vector<int> > vec_int_ptr;
36 typedef Teuchos::RCP<std::vector<long long> > vec_longlong_ptr;
37 typedef Teuchos::RCP<vec_dbl> vec_dbl_ptr;
38 typedef Teuchos::RCP<std::vector<std::vector<double> > > vec2D_dbl_ptr;
39 typedef Teuchos::RCP<std::vector<std::vector<int> > > vec2D_int_ptr;
40 typedef Teuchos::RCP<vec2D_longlong > vec2D_longlong_ptr;
41
42 typedef Teuchos::Comm<int> Comm_Type;
43 typedef Teuchos::RCP<const Comm_Type> CommConstPtr_Type;
44 typedef const Teuchos::RCP<const Comm_Type> CommConstPtrConst_Type;
45
46 typedef Map<LO,GO,NO> Map_Type;
47 typedef Teuchos::RCP<Map_Type> MapPtr_Type;
48 typedef Teuchos::RCP<const Map_Type> MapConstPtr_Type;
49 typedef const MapConstPtr_Type MapConstPtrConst_Type;
50
51 typedef MultiVector<SC,LO,GO,NO> MultiVector_Type;
52 typedef Teuchos::RCP<const MultiVector_Type> MultiVectorConstPtr_Type;
53 typedef const MultiVectorConstPtr_Type MultiVectorConstPtrConst_Type;
54
55 typedef Mesh<SC,LO,GO,NO> Mesh_Type;
56 typedef Teuchos::RCP<Mesh_Type> MeshPtr_Type;
57
58 typedef typename Mesh_Type::ElementsPtr_Type ElementsPtr_Type;
59
60
61 ExporterParaViewAMR();
62
63 void updateVariables(MultiVectorConstPtr_Type &u, std::string varName);
64
65 void reSetup(MeshPtr_Type mesh); // Updates the setup values to new Mesh
66
67private:
68
69
70 };
71}
72
73#endif
Definition Map_decl.hpp:30
Definition Mesh_decl.hpp:25
Definition MultiVector_decl.hpp:61
Adaptive Mesh Refinement.
Definition AdaptiveMeshRefinement_decl.hpp:36