Class ae108::assembly::Assembler
template <ElementConcept Element, class Plugins, class Policy>
ClassList > ae108 > assembly > Assembler
A cpppetsc-Mesh-based assembler. More...
#include <Assembler.h>
Inherits the following classes: Plugins::template type< Assembler< Element, DefaultFeaturePlugins, cpppetsc::SequentialComputePolicy > >
Classes
| Type | Name |
|---|---|
| class | AnnotatedElement |
Public Types
| Type | Name |
|---|---|
| typedef typename cpppetsc::LocalElementView< mesh_type > | ElementView |
| typedef typename ElementTypeTrait< Assembler >::type | element_type |
| typedef typename MatrixTypeTrait< Assembler >::type | matrix_type |
| typedef typename MeshTypeTrait< Assembler >::type | mesh_type |
| typedef typename SizeTypeTrait< Assembler >::type | size_type |
| typedef typename ValueTypeTrait< Assembler >::type | value_type |
| typedef typename VectorTypeTrait< Assembler >::type | vector_type |
Public Functions
| Type | Name |
|---|---|
| Assembler (Args &&... args) |
|
| void | emplaceElement (ElementView view, Args &&... constructorArguments) Emplace (i.e. construct directly into the internal container without moving) a local Element instance. |
| auto | meshElements () Returns a range of iterators pointing to a struct with two methods: instance() and meshView(). |
| auto | meshElements () const Returns a range of iterators pointing to a struct with two methods: instance() and meshView(). |
Detailed Description
Template parameters:
ElementThe element type.PluginsA FeaturePlugins<...> list of feature plugins.
Public Types Documentation
typedef ElementView
using ae108::assembly::Assembler< Element, Plugins, Policy >::ElementView = typename cpppetsc::LocalElementView<mesh_type>;
typedef element_type
using ae108::assembly::Assembler< Element, Plugins, Policy >::element_type = typename ElementTypeTrait<Assembler>::type;
typedef matrix_type
using ae108::assembly::Assembler< Element, Plugins, Policy >::matrix_type = typename MatrixTypeTrait<Assembler>::type;
typedef mesh_type
using ae108::assembly::Assembler< Element, Plugins, Policy >::mesh_type = typename MeshTypeTrait<Assembler>::type;
typedef size_type
using ae108::assembly::Assembler< Element, Plugins, Policy >::size_type = typename SizeTypeTrait<Assembler>::type;
typedef value_type
using ae108::assembly::Assembler< Element, Plugins, Policy >::value_type = typename ValueTypeTrait<Assembler>::type;
typedef vector_type
using ae108::assembly::Assembler< Element, Plugins, Policy >::vector_type = typename VectorTypeTrait<Assembler>::type;
Public Functions Documentation
function Assembler
template<class... Args>
explicit ae108::assembly::Assembler::Assembler (
Args &&... args
)
Parameters:
argsAre used to construct the plugins.
function emplaceElement
Emplace (i.e. construct directly into the internal container without moving) a local Element instance.
template<class... Args>
void ae108::assembly::Assembler::emplaceElement (
ElementView view,
Args &&... constructorArguments
)
Remark:
Use methods of the mesh to know which elements are local, and their vertices.
Parameters:
viewA view of the mesh element. A copy of this view will be stored.constructorArgumentsThe parameters that are passed to the Element constructor.
function meshElements [1/2]
Returns a range of iterators pointing to a struct with two methods: instance() and meshView().
auto ae108::assembly::Assembler::meshElements ()
function meshElements [2/2]
Returns a range of iterators pointing to a struct with two methods: instance() and meshView().
auto ae108::assembly::Assembler::meshElements () const
The documentation for this class was generated from the following file assembly/src/include/ae108/assembly/Assembler.h