adamantine
Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
adamantine::Geometry< dim > Class Template Reference

#include <Geometry.hh>

Public Member Functions

 Geometry (MPI_Comm const &communicator, boost::property_tree::ptree const &database, boost::optional< boost::property_tree::ptree const & > const &units_optional_database)
 
bool use_stl () const
 
dealii::parallel::distributed::Triangulation< dim > & get_triangulation ()
 
Kokkos::View< Triangle *, Kokkos::HostSpace > get_stl_triangles ()
 

Private Types

using Point = ArborX::ExperimentalHyperGeometry::Point< 3, double >
 
using Triangle = ArborX::ExperimentalHyperGeometry::Triangle< 3, double >
 

Private Member Functions

void assign_material_state (boost::property_tree::ptree const &database)
 
void read_stl (std::string const &filename, double const stl_scaling)
 

Private Attributes

bool _use_stl = false
 
dealii::parallel::distributed::Triangulation< dim > _triangulation
 
Kokkos::View< Triangle *, Kokkos::HostSpace > _stl_triangles
 

Detailed Description

template<int dim>
class adamantine::Geometry< dim >

This class generates and stores a Triangulation given a database.

Definition at line 29 of file Geometry.hh.

Member Typedef Documentation

◆ Point

template<int dim>
using adamantine::Geometry< dim >::Point = ArborX::ExperimentalHyperGeometry::Point<3, double>
private

Definition at line 35 of file Geometry.hh.

◆ Triangle

template<int dim>
using adamantine::Geometry< dim >::Triangle = ArborX::ExperimentalHyperGeometry::Triangle<3, double>
private

Definition at line 36 of file Geometry.hh.

Constructor & Destructor Documentation

◆ Geometry()

template<int dim>
adamantine::Geometry< dim >::Geometry ( MPI_Comm const &  communicator,
boost::property_tree::ptree const &  database,
boost::optional< boost::property_tree::ptree const & > const &  units_optional_database 
)

Constructor.

Definition at line 80 of file Geometry.cc.

Member Function Documentation

◆ assign_material_state()

template<int dim>
void adamantine::Geometry< dim >::assign_material_state ( boost::property_tree::ptree const &  database)
private

Assign the material state to the mesh.

Definition at line 318 of file Geometry.cc.

◆ get_stl_triangles()

template<int dim>
Kokkos::View< typename Geometry< dim >::Triangle *, Kokkos::HostSpace > adamantine::Geometry< dim >::get_stl_triangles
inline

Return the triangles from the STL file.

Definition at line 123 of file Geometry.hh.

◆ get_triangulation()

template<int dim>
dealii::parallel::distributed::Triangulation< dim > & adamantine::Geometry< dim >::get_triangulation
inline

Return the underlying Triangulation.

Definition at line 116 of file Geometry.hh.

◆ read_stl()

template<int dim>
void adamantine::Geometry< dim >::read_stl ( std::string const &  filename,
double const  stl_scaling 
)
private

Read the given binary STL file and apply a scaling factor to all coordinates read from the STL file.

Definition at line 356 of file Geometry.cc.

◆ use_stl()

template<int dim>
bool adamantine::Geometry< dim >::use_stl
inline

Return true if the file is defined by an STL file and false otherwise.

Definition at line 109 of file Geometry.hh.

Member Data Documentation

◆ _stl_triangles

template<int dim>
Kokkos::View<Triangle *, Kokkos::HostSpace> adamantine::Geometry< dim >::_stl_triangles
private

View of the triangles from the STL file.

Definition at line 98 of file Geometry.hh.

◆ _triangulation

template<int dim>
dealii::parallel::distributed::Triangulation<dim> adamantine::Geometry< dim >::_triangulation
private

Triangulation of the domain.

Definition at line 94 of file Geometry.hh.

◆ _use_stl

template<int dim>
bool adamantine::Geometry< dim >::_use_stl = false
private

Flag is true if the domain is defined by a STL file.

Definition at line 90 of file Geometry.hh.