Class ae108::assembly::Assembler
template <class 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:
Element
The element type.Plugins
A 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:
args
Are 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:
view
A view of the mesh element. A copy of this view will be stored.constructorArguments
The 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