Block-Structured AMR Software Framework
 
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Loading...
Searching...
No Matches
AMReX_EB2_IndexSpace_STL.H
Go to the documentation of this file.
1#ifndef AMREX_EB2_INDEXSPACE_STL_H_
2#define AMREX_EB2_INDEXSPACE_STL_H_
3#include <AMReX_Config.H>
4
5#include <AMReX_EB2.H>
7
8#include <string>
9
10namespace amrex::EB2 {
11
13 : public IndexSpace
14{
15public:
16
17 IndexSpaceSTL (const std::string& stl_file, Real stl_scale,
18 Array<Real,3> const& stl_center, int stl_reverse_normal,
19 const Geometry& geom, int required_coarsening_level,
20 int max_coarsening_level, int ngrow,
21 bool build_coarse_level_by_coarsening,
22 bool extend_domain_face, int num_coarsen_opt, bool bvh_optimization);
23
24 IndexSpaceSTL (IndexSpaceSTL const&) = delete;
26 void operator= (IndexSpaceSTL const&) = delete;
27 void operator= (IndexSpaceSTL &&) = delete;
28
29 ~IndexSpaceSTL () override = default;
30
31 [[nodiscard]] const Level& getLevel (const Geometry& geom) const final;
32 [[nodiscard]] const Geometry& getGeometry (const Box& dom) const final;
33 [[nodiscard]] const Box& coarsestDomain () const final {
34 return m_geom.back().Domain();
35 }
36 void addFineLevels (int num_new_fine_levels) final;
37 void addRegularCoarseLevels (int num_new_coarse_levels) final;
38
39private:
40
45};
46
47}
48
49#endif
Definition AMReX_EB2_IndexSpace_STL.H:14
~IndexSpaceSTL() override=default
void operator=(IndexSpaceSTL const &)=delete
const Level & getLevel(const Geometry &geom) const final
Definition AMReX_EB2_IndexSpace_STL.cpp:72
Vector< Geometry > m_geom
Definition AMReX_EB2_IndexSpace_STL.H:42
void addFineLevels(int num_new_fine_levels) final
Definition AMReX_EB2_IndexSpace_STL.cpp:88
Vector< Box > m_domain
Definition AMReX_EB2_IndexSpace_STL.H:43
Vector< STLLevel > m_stllevel
Definition AMReX_EB2_IndexSpace_STL.H:41
const Box & coarsestDomain() const final
Definition AMReX_EB2_IndexSpace_STL.H:33
IndexSpaceSTL(IndexSpaceSTL const &)=delete
Vector< int > m_ngrow
Definition AMReX_EB2_IndexSpace_STL.H:44
IndexSpaceSTL(IndexSpaceSTL &&)=delete
void addRegularCoarseLevels(int num_new_coarse_levels) final
Definition AMReX_EB2_IndexSpace_STL.cpp:97
const Geometry & getGeometry(const Box &dom) const final
Definition AMReX_EB2_IndexSpace_STL.cpp:80
Definition AMReX_EB2.H:26
Definition AMReX_EB2_Level.H:33
Rectangular problem domain geometry.
Definition AMReX_Geometry.H:73
This class is a thin wrapper around std::vector. Unlike vector, Vector::operator[] provides bound che...
Definition AMReX_Vector.H:27
Definition AMReX_FabArrayBase.H:32
AMREX_EXPORT bool extend_domain_face
Definition AMReX_EB2.cpp:24
AMREX_EXPORT int num_coarsen_opt
Definition AMReX_EB2.cpp:25
std::array< T, N > Array
Definition AMReX_Array.H:24