1#ifndef AMReX_EBToPVD_H_
2#define AMReX_EBToPVD_H_
3#include <AMReX_Config.H>
54 void reorder_polygon(
const std::vector<std::array<Real,3>>& lpoints, std::array<int,7>& lconnect,
55 const std::array<Real,3>& lnormal);
58 static void calc_hesse(
Real& distance, std::array<Real,3>& n0,
Real& p,
59 const std::array<Real,3>& normal,
const std::array<Real,3>&
centroid) ;
62 static void calc_alpha(std::array<Real,12>& alpha,
63 const std::array<Real,3>& n0,
Real p,
64 const std::array<std::array<Real,3>,8>& vertex,
68 static void calc_intersects(
int& int_count, std::array<bool,12>& intersects_flags,
69 const std::array<Real,12>& alpha) ;
71 void print_points(std::ofstream& myfile)
const;
72 void print_connectivity(std::ofstream& myfile)
const;
73 void print_grids(std::ofstream& myfile)
const;
75 std::vector<std::array<Real,3>> m_points;
76 std::vector<std::array<int,7>> m_connectivity;
Helper that converts EB surfaces into polygonal PVD files.
Definition AMReX_EBToPVD.H:21
void WriteEBVTP(int myID) const
Write the accumulated EB polygons for rank myID into a VTP file.
Definition AMReX_EBToPVD.cpp:191
void EBGridCoverage(int myID, const Real *problo, const Real *dx, const Box &bx, Array4< EBCellFlag const > const &flag)
Record which cells are cut/covered to visualize grid coverage.
Definition AMReX_EBToPVD.cpp:430
static void WritePVTP(int nProcs)
Write a PVD file referencing per-rank outputs.
Definition AMReX_EBToPVD.cpp:218
void EBToPolygon(const Real *problo, const Real *dx, const Box &bx, Array4< EBCellFlag const > const &flag, Array4< Real const > const &bcent, Array4< Real const > const &apx, Array4< Real const > const &apy, Array4< Real const > const &apz)
Convert EB data in bx into polygons stored internally.
Definition AMReX_EBToPVD.cpp:27
amrex_real Real
Floating Point Type for Fields.
Definition AMReX_REAL.H:79
Definition AMReX_Amr.cpp:49
A multidimensional array accessor.
Definition AMReX_Array4.H:283