|
Tatooine
|
Namespaces | |
| namespace | autonomous_particle |
| namespace | for_loop |
| namespace | geometry |
| namespace | line |
| namespace | linspace |
| namespace | pointset |
| namespace | rectilinear_grid |
| namespace | structured_grid |
| namespace | unstructured_simplicial_grid |
| namespace | vortex_core_lines |
Classes | |
| struct | aabb_ray_intersectable_parent |
| struct | celltree_parent |
| struct | celltree_parent< Celltree, real_type, 3, 3 > |
Functions | |
| template<typename MeshCont > | |
| auto | write_unstructured_triangular_grid_container_to_vtk (MeshCont const &grids, std::filesystem::path const &path, std::string const &title="tatooine grids") |
| auto | write_unstructured_triangular_grid_container_to_vtp (range auto const &grids, std::filesystem::path const &path) |
| template<typename Real , typename T0 , typename T1 , typename T2 , typename T3 > | |
| constexpr auto | eval_bilinear (base_tensor< T0, Real, 2 > const &v00, base_tensor< T1, Real, 2 > const &v10, base_tensor< T2, Real, 2 > const &v01, base_tensor< T3, Real, 2 > const &v11, Real const s, Real const t) |
| template<typename Real , typename T0 , typename T1 , typename T2 , typename T3 > | |
| auto | solve_bilinear (base_tensor< T0, Real, 2 > const &v00, base_tensor< T1, Real, 2 > const &v10, base_tensor< T2, Real, 2 > const &v01, base_tensor< T3, Real, 2 > const &v11) |
| template<typename Real , invocable< Vec3< Real > >... Preds> | |
| constexpr auto | pv_on_tri (Vec3< Real > const &p0, Vec3< Real > const &v0, Vec3< Real > const &w0, Vec3< Real > const &p1, Vec3< Real > const &v1, Vec3< Real > const &w1, Vec3< Real > const &p2, Vec3< Real > const &v2, Vec3< Real > const &w2, Preds &&... preds) -> std::optional< Vec3< Real > > |
| template<typename Real > | |
| static auto | check_tet (std::optional< Vec3< Real > > const &tri0, std::optional< Vec3< Real > > const &tri1, std::optional< Vec3< Real > > const &tri2, std::optional< Vec3< Real > > const &tri3, std::vector< Line3< Real > > &lines) |
| auto constexpr | is_even (integral auto const i) |
| template<signed_integral Int = int> | |
| auto constexpr | sign (bool pred) -> Int |
| auto constexpr | turned (integral auto const ... is) -> bool |
| auto | check_turned_cube (auto const &x_faces, auto const &y_faces, auto const &z_faces, auto const &inner_faces, auto &ls, auto const ix, auto const iy) |
| auto | check_unturned_cube (auto const &x_faces, auto const &y_faces, auto const &z_faces, auto const &inner_faces, auto &ls, auto const ix, auto const iy) |
| auto | check_cube (auto const &x_faces, auto const &y_faces, auto const &z_faces, auto const &inner_faces, auto &ls, auto const ix, auto const iy, auto const iz) |
| template<typename Real , typename GetV , typename GetW , typename XDomain , typename YDomain , typename ZDomain , invocable< Vec3< Real > >... Preds> | |
| auto | calc_parallel_vectors (GetV &&getv, GetW &&getw, tatooine::rectilinear_grid< XDomain, YDomain, ZDomain > const &g, execution_policy::parallel_t const policy, Preds &&... preds) -> std::vector< Line3< Real > > |
| template<typename Real , typename GetV , typename GetW , typename XDomain , typename YDomain , typename ZDomain , invocable< Vec3< Real > >... Preds> | |
| auto | calc_parallel_vectors (GetV &&getv, GetW &&getw, tatooine::rectilinear_grid< XDomain, YDomain, ZDomain > const &g, execution_policy::sequential_t const policy, Preds &&... preds) |
| template<typename Real , typename GetV , typename GetW , typename XDomain , typename YDomain , typename ZDomain , invocable< Vec3< Real > >... Preds> | |
| auto | calc_parallel_vectors (GetV &&getv, GetW &&getw, tatooine::rectilinear_grid< XDomain, YDomain, ZDomain > const &g, execution_policy_tag auto const policy, Preds &&... preds) |
| auto tatooine::detail::calc_parallel_vectors | ( | GetV && | getv, |
| GetW && | getw, | ||
| tatooine::rectilinear_grid< XDomain, YDomain, ZDomain > const & | g, | ||
| execution_policy::parallel_t const | policy, | ||
| Preds &&... | preds | ||
| ) | -> std::vector<Line3<Real>> |
Framework for calculating PV Operator.
| getv | function for getting value for V field |
| getw | function for getting value for W field |
The algorithm processes z-slabs in parallel. For each slab all constant x-faces, all constant y-faces and all faces of each inner cube's tetrahedron are stored in a 2-D arrays. To be able to compute the cells of the grid both sides of the constant z-faces are needed. These are being stored ping-pong-wise.
| auto tatooine::detail::calc_parallel_vectors | ( | GetV && | getv, |
| GetW && | getw, | ||
| tatooine::rectilinear_grid< XDomain, YDomain, ZDomain > const & | g, | ||
| execution_policy::sequential_t const | policy, | ||
| Preds &&... | preds | ||
| ) |
Framework for calculating PV Operator.
| getv | function for getting value for V field |
| getw | function for getting value for W field |
The algorithm processes z-slabs sequentially. For each slab all constant x-faces, all constant y-faces and all faces of each inner cube's tetrahedron are stored in a 2-D arrays. To be able to compute the cells of the grid both sides of the constant z-faces are needed. These are being stored ping-pong-wise.
| auto tatooine::detail::calc_parallel_vectors | ( | GetV && | getv, |
| GetW && | getw, | ||
| tatooine::rectilinear_grid< XDomain, YDomain, ZDomain > const & | g, | ||
| execution_policy_tag auto const | policy, | ||
| Preds &&... | preds | ||
| ) |
Framework for calculating PV Operator.
| getv | function for getting value for V field |
| getw | function for getting value for W field |
| auto tatooine::detail::check_cube | ( | auto const & | x_faces, |
| auto const & | y_faces, | ||
| auto const & | z_faces, | ||
| auto const & | inner_faces, | ||
| auto & | ls, | ||
| auto const | ix, | ||
| auto const | iy, | ||
| auto const | iz | ||
| ) |
|
static |
| auto tatooine::detail::check_turned_cube | ( | auto const & | x_faces, |
| auto const & | y_faces, | ||
| auto const & | z_faces, | ||
| auto const & | inner_faces, | ||
| auto & | ls, | ||
| auto const | ix, | ||
| auto const | iy | ||
| ) |
| auto tatooine::detail::check_unturned_cube | ( | auto const & | x_faces, |
| auto const & | y_faces, | ||
| auto const & | z_faces, | ||
| auto const & | inner_faces, | ||
| auto & | ls, | ||
| auto const | ix, | ||
| auto const | iy | ||
| ) |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
| auto tatooine::detail::solve_bilinear | ( | base_tensor< T0, Real, 2 > const & | v00, |
| base_tensor< T1, Real, 2 > const & | v10, | ||
| base_tensor< T2, Real, 2 > const & | v01, | ||
| base_tensor< T3, Real, 2 > const & | v11 | ||
| ) |
|
constexpr |
| auto tatooine::detail::write_unstructured_triangular_grid_container_to_vtk | ( | MeshCont const & | grids, |
| std::filesystem::path const & | path, | ||
| std::string const & | title = "tatooine grids" |
||
| ) |
| auto tatooine::detail::write_unstructured_triangular_grid_container_to_vtp | ( | range auto const & | grids, |
| std::filesystem::path const & | path | ||
| ) |