LehrFEM++ 1.0.0
A simple Finite Element Library for teaching
|
Implements a Builder for a tensor product grid (with rectangular cells) More...
#include <lf/mesh/utils/tp_quad_mesh_builder.h>
Public Member Functions | |
TPQuadMeshBuilder (std::unique_ptr< mesh::MeshFactory > mesh_factory) | |
Constructor: set factory object to be used by the builder. | |
std::shared_ptr< mesh::Mesh > | Build () override |
actual construction of the mesh | |
![]() | |
StructuredMeshBuilder (std::unique_ptr< mesh::MeshFactory > mesh_factory) | |
template<typename VECTOR > | |
StructuredMeshBuilder & | setBottomLeftCorner (const VECTOR &blc) |
StructuredMeshBuilder & | setBottomLeftCorner (double x0, double x1) |
template<typename VECTOR > | |
StructuredMeshBuilder & | setTopRightCorner (const VECTOR &&trc) |
StructuredMeshBuilder & | setTopRightCorner (double x0, double x1) |
StructuredMeshBuilder & | setNumXCells (size_type nxc) |
StructuredMeshBuilder & | setNumYCells (size_type nyc) |
Static Public Member Functions | |
static std::shared_ptr< spdlog::logger > & | Logger () |
is used by the Build() method to output additional information. | |
Private Member Functions | |
size_type | VertexIndex (size_type i, size_type j) const |
vertex index from grid position | |
Additional Inherited Members | |
![]() | |
using | size_type = mesh::Mesh::size_type |
using | dim_t = base::RefEl::dim_t |
![]() | |
std::unique_ptr< mesh::MeshFactory > | mesh_factory_ |
Eigen::Vector2d | bottom_left_corner_ |
Eigen::Vector2d | top_right_corner_ |
size_type | num_of_x_cells_ {0} |
size_type | num_of_y_cells_ {0} |
Implements a Builder for a tensor product grid (with rectangular cells)
The generated grid will be uniform, which means that all cells are congruent. The geometry of the rectangular domain and the number of cells can be specified by setting Builder state parameters.
Definition at line 18 of file tp_quad_mesh_builder.h.
|
inlineexplicit |
Constructor: set factory object to be used by the builder.
Definition at line 24 of file tp_quad_mesh_builder.h.
References lf::mesh::utils::StructuredMeshBuilder::mesh_factory_.
|
overridevirtual |
actual construction of the mesh
Implements lf::mesh::utils::StructuredMeshBuilder.
Definition at line 18 of file tp_quad_mesh_builder.cc.
References lf::mesh::utils::StructuredMeshBuilder::bottom_left_corner_, lf::base::RefEl::kQuad(), Logger(), lf::mesh::utils::StructuredMeshBuilder::mesh_factory_, lf::mesh::utils::StructuredMeshBuilder::num_of_x_cells_, lf::mesh::utils::StructuredMeshBuilder::num_of_y_cells_, lf::mesh::utils::StructuredMeshBuilder::top_right_corner_, and VertexIndex().
|
static |
is used by the Build() method to output additional information.
Definition at line 12 of file tp_quad_mesh_builder.cc.
References lf::base::InitLogger().
Referenced by Build().
|
inlineprivate |
vertex index from grid position
Definition at line 41 of file tp_quad_mesh_builder.h.
References lf::mesh::utils::StructuredMeshBuilder::num_of_x_cells_.
Referenced by Build().