Skip to content

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