1#include "annulus_triag_mesh_builder.h"
3#include <lf/base/base.h>
4#include <lf/base/span.h>
5#include <lf/geometry/geometry.h>
23 const double pos_r = r + r_idx * dr;
24 const double pos_phi = phi_idx * dphi;
25 pos << pos_r * std::cos(pos_phi), pos_r * std::sin(pos_phi);
30 std::vector<lf::base::size_type> v_idx(vertex_count);
55 const std::array<lf::base::size_type, 3> trig1 = {v1, v2, v4};
56 const std::array<lf::base::size_type, 3> trig2 = {v2, v3, v4};
57 Eigen::Matrix<double, 2, 3> verts1;
58 Eigen::Matrix<double, 2, 3> verts2;
59 verts1 << node_position(r_idx, phi_idx),
60 node_position(r_idx + 1, phi_idx),
62 verts2 << node_position(r_idx + 1, phi_idx),
65 std::unique_ptr<lf::geometry::Geometry> geom1 =
66 std::make_unique<lf::geometry::TriaO1>(verts1);
67 std::unique_ptr<lf::geometry::Geometry> geom2 =
68 std::make_unique<lf::geometry::TriaO1>(verts2);
Represents a reference element with all its properties.
static constexpr RefEl kTria()
Returns the reference triangle.
std::shared_ptr< lf::mesh::Mesh > Build()
Build the mesh.
std::unique_ptr< lf::mesh::MeshFactory > mesh_factory_
lf::base::size_type num_angular_cells_
lf::base::size_type num_radial_cells_
unsigned int size_type
general type for variables related to size of arrays