24#ifndef VTU_SURFACE_WRITER_H
25#define VTU_SURFACE_WRITER_H
41 std::vector<Vector<T, 3>>
pos;
52 void closePVD(
const std::string& fullNamePVD);
54 void preambleVTU(
const std::string& fullName,
int num);
56 void closeVTU(
const std::string& fullNamePiece);
58 void dataPVD(
int iT,
int i,
const std::string& fullNamePVD,
const std::string& namePiece);
60 void dataPVDmaster(
int iT,
int i,
const std::string& fullNamePVDMaster,
const std::string& namePiece);
61 void dataArray(
const std::string& fullName);
68 static bool areVectorsEqual(
const std::vector<T>& v1,
const std::vector<T>& v2, T epsilon = 1e-6);
70 std::vector<std::vector<T>>
removeDuplicates(
const std::vector<std::vector<T>>& points);
78 void write(std::size_t iT);
AnalyticalF are applications from DD to XD, where X is set by the constructor.
Base class for all LoadBalancer.
class for marking output with some text
represents all functors that operate on a SuperStructure<T,3> in general
void addPoints(std::vector< Vector< T, 3 > > &new_positions)
Add multiple locations to output set.
void addPoint(Vector< T, 3 > &new_position)
Add single location to output set.
void writeAnalyticalFunctor(const std::string &fullName, std::ofstream &fout, AnalyticalF3D< T, T > &f)
writes functors.
void addConnectivity(std::vector< std::vector< int > > &connections)
Define connectivity between previously-added output points, rendering them a surface.
void dataPVD(int iT, int i, const std::string &fullNamePVD, const std::string &namePiece)
performes <DataSet timestep= ... file=namePiece >
static bool areVectorsEqual(const std::vector< T > &v1, const std::vector< T > &v2, T epsilon=1e-6)
void closeVTU(const std::string &fullNamePiece)
performes </ImageData> and </VTKFile>
VTUsurfaceWriter(std::string name, CuboidDecomposition3D< T > &cuboidDecomposition, LoadBalancer< T > &loadBalancer, bool binary=false)
std::vector< Vector< T, 3 > > pos
void addFunctor(AnalyticalF3D< T, T > &f)
Schedule analytical functor for output.
CuboidDecomposition3D< T > & _cuboidDecomposition
std::vector< AnalyticalF3D< T, T > * > _functorsA
std::vector< SuperF3D< T, T > * > _functors
void write(std::size_t iT)
writes vtu files and assigns values
void closePVD(const std::string &fullNamePVD)
void writePosition(std::ofstream &fout)
writes coordinates of points
void dataPVDmaster(int iT, int i, const std::string &fullNamePVDMaster, const std::string &namePiece)
performes <DataSet timestep= ... file=namePiece >
std::vector< std::vector< T > > removeDuplicates(const std::vector< std::vector< T > > &points)
removes duplicates from points, needed for STL files
void preambleVTU(const std::string &fullName, int num)
performes <VTKFile ...>, <ImageData ...> and <PieceExtent ...>
void addSTL(STLreader< T > &stlReader)
Add full STL surface as output surface.
void writeFunctor(const std::string &fullName, std::ofstream &fout, SuperF3D< T, T > &f)
interpolates and writes functors stored at functors
std::vector< std::vector< int > > connectivity
void preamblePVD(const std::string &fullNamePVD)
std::vector< std::vector< int > > mapTrianglesToIndices(STLreader< T > &stlReader)
void dataArray(const std::string &fullName)
LoadBalancer< T > & _loadBalancer
Wrapper functions that simplify the use of MPI.
Top level namespace for all of OpenLB.
Input in STL format – header file.