Block-Structured AMR Software Framework
AMReX_EB2_C.H
Go to the documentation of this file.
1 #ifndef AMREX_EB2_C_H_
2 #define AMREX_EB2_C_H_
3 #include <AMReX_Config.H>
4 
5 #include <AMReX_FArrayBox.H>
6 #include <AMReX_EBCellFlag.H>
7 #include <AMReX_EB2_Graph.H>
8 #include <AMReX_Geometry.H>
9 
10 #if (AMREX_SPACEDIM == 2)
11 #include <AMReX_EB2_2D_C.H>
12 #elif (AMREX_SPACEDIM == 3)
13 #include <AMReX_EB2_3D_C.H>
14 #endif
15 
16 namespace amrex::EB2 {
17 
18 #if (AMREX_SPACEDIM == 2)
19 
20 int build_faces (Box const& bx, Array4<EBCellFlag> const& cell,
21  Array4<Type_t> const& fx, Array4<Type_t> const& fy,
22  Array4<Real> const& levset,
23  Array4<Real const> const& interx, Array4<Real const> const& intery,
24  Array4<Real> const& apx, Array4<Real> const& apy,
25  Array4<Real> const& fcx, Array4<Real> const& fcy,
26  GpuArray<Real,AMREX_SPACEDIM> const& dx,
27  GpuArray<Real,AMREX_SPACEDIM> const& problo,
28  bool cover_multiple_cuts, int& nsmallfaces) noexcept;
29 
30 void build_cells (Box const& bx, Array4<EBCellFlag> const& cell,
31  Array4<Type_t> const& fx, Array4<Type_t> const& fy,
32  Array4<Real> const& apx, Array4<Real> const& apy,
33  GpuArray<Real,AMREX_SPACEDIM> const& dx,
34  Array4<Real> const& vfrac, Array4<Real> const& vcent,
35  Array4<Real> const& barea, Array4<Real> const& bcent,
36  Array4<Real> const& bnorm, Array4<Real> const& levset,
37  Real small_volfrac, Geometry const& geom, bool extend_domain_face,
38  int& nsmallcells, int nmulticuts) noexcept;
39 
40 void set_connection_flags(Box const& bxg1, Array4<EBCellFlag> const& cell,
41  Array4<Type_t> const& fx, Array4<Type_t> const& fy) noexcept;
42 
43 #elif (AMREX_SPACEDIM == 3)
44 
45 int build_faces (Box const& bx, Array4<EBCellFlag> const& cell,
46  Array4<Type_t> const& fx, Array4<Type_t> const& fy,
47  Array4<Type_t> const& fz, Array4<Type_t const> const& ex,
48  Array4<Type_t const> const& ey, Array4<Type_t const> const& ez,
49  Array4<Real> const& levset, Array4<Real const> const& interx,
50  Array4<Real const> const& intery, Array4<Real const> const& interz,
51  Array4<Real> const& apx, Array4<Real> const& apy,
52  Array4<Real> const& apz, Array4<Real> const& fcx,
53  Array4<Real> const& fcy, Array4<Real> const& fcz,
54  Array4<Real> const& m2x, Array4<Real> const& m2y,
55  Array4<Real> const& m2z,
56  GpuArray<Real,AMREX_SPACEDIM> const& dx,
57  GpuArray<Real,AMREX_SPACEDIM> const& problo,
58  bool cover_multiple_cuts) noexcept;
59 
60 void build_cells (Box const& bx, Array4<EBCellFlag> const& cell,
61  Array4<Type_t> const& fx, Array4<Type_t> const& fy,
62  Array4<Type_t> const& fz, Array4<Real> const& apx,
63  Array4<Real> const& apy, Array4<Real> const& apz,
64  Array4<Real const> const& fcx, Array4<Real const> const& fcy,
65  Array4<Real const> const& fcz, Array4<Real const> const& m2x,
66  Array4<Real const> const& m2y, Array4<Real const> const& m2z,
67  GpuArray<Real,AMREX_SPACEDIM> const& dx,
68  Array4<Real> const& vfrac, Array4<Real> const& vcent,
69  Array4<Real> const& barea, Array4<Real> const& bcent,
70  Array4<Real> const& bnorm, Array4<EBCellFlag> const& ctmp,
71  Array4<Real> const& levset, Real small_volfrac, Geometry const& geom,
72  bool extend_domain_face, bool cover_multiple_cuts,
73  int& nsmallcells, int& nmulticuts) noexcept;
74 
75 void set_connection_flags(Box const& bx, Box const& bxg1,
76  Array4<EBCellFlag> const& cell, Array4<EBCellFlag> const& ctmp,
77  Array4<Type_t> const& fx, Array4<Type_t> const& fy,
78  Array4<Type_t> const& fz) noexcept;
79 
80 #endif
81 
82 void intercept_to_edge_centroid (AMREX_D_DECL(Array4<Real> const& excent,
83  Array4<Real> const& eycent,
84  Array4<Real> const& ezcent),
85  AMREX_D_DECL(Array4<Type_t const> const& fx,
86  Array4<Type_t const> const& fy,
87  Array4<Type_t const> const& fz),
88  Array4<Real const> const& levset,
89  GpuArray<Real,AMREX_SPACEDIM> const& dx,
90  GpuArray<Real,AMREX_SPACEDIM> const& problo) noexcept;
91 
92 }
93 
94 #endif
#define AMREX_D_DECL(a, b, c)
Definition: AMReX_SPACE.H:104
Definition: AMReX_FabArrayBase.H:32
void set_connection_flags(Box const &bxg1, Array4< EBCellFlag > const &cell, Array4< Type_t > const &fx, Array4< Type_t > const &fy) noexcept
Definition: AMReX_EB2_2D_C.cpp:455
int build_faces(Box const &bx, Array4< EBCellFlag > const &cell, Array4< Type_t > const &fx, Array4< Type_t > const &fy, Array4< Real > const &levset, Array4< Real const > const &interx, Array4< Real const > const &intery, Array4< Real > const &apx, Array4< Real > const &apy, Array4< Real > const &fcx, Array4< Real > const &fcy, GpuArray< Real, AMREX_SPACEDIM > const &dx, GpuArray< Real, AMREX_SPACEDIM > const &problo, bool cover_multiple_cuts, int &nsmallfaces) noexcept
Definition: AMReX_EB2_2D_C.cpp:198
AMREX_EXPORT bool extend_domain_face
Definition: AMReX_EB2.cpp:24
void build_cells(Box const &bx, Array4< EBCellFlag > const &cell, Array4< Type_t > const &fx, Array4< Type_t > const &fy, Array4< Real > const &apx, Array4< Real > const &apy, GpuArray< Real, AMREX_SPACEDIM > const &dx, Array4< Real > const &vfrac, Array4< Real > const &vcent, Array4< Real > const &barea, Array4< Real > const &bcent, Array4< Real > const &bnorm, Array4< Real > const &levset, Real small_volfrac, Geometry const &geom, bool extend_domain_face, int &nsmallcells, int const nmulticuts) noexcept
Definition: AMReX_EB2_2D_C.cpp:351
void intercept_to_edge_centroid(AMREX_D_DECL(Array4< Real > const &excent, Array4< Real > const &eycent, Array4< Real > const &ezcent), AMREX_D_DECL(Array4< Type_t const > const &fx, Array4< Type_t const > const &fy, Array4< Type_t const > const &fz), Array4< Real const > const &levset, GpuArray< Real, AMREX_SPACEDIM > const &dx, GpuArray< Real, AMREX_SPACEDIM > const &problo) noexcept
Definition: AMReX_EB2_ND_C.cpp:5
BoxND< AMREX_SPACEDIM > Box
Definition: AMReX_BaseFwd.H:27