Template Class Field

Nested Relationships

Nested Types

Class Documentation

template<int dim, int spacedim, typename Extractor>
class Field

A named semantic field attached to a non-owning FE-space view.

The field contains no coefficients or other state. Its FieldId is supplied by a StateLayout when the field is registered. The overloads that do not receive a StateLayout are useful for describing an FE observable before an execution adapter assigns semantic storage; such fields have an invalid FieldId until they are registered.

Public Types

using global_index = dealii::types::global_dof_index
using extractor_type = Extractor
using view_type = dealii::FEValuesViews::View<dim, spacedim, Extractor>
using value_type = typename view_type::value_type
using space_type = FESpaceView<dim, spacedim>

Public Functions

inline Field(const space_type &space, std::string name, const Extractor &extractor, const FieldId id = FieldId())
inline FieldId field_id() const
inline FieldId id() const
inline Field with_id(const FieldId id) const

Return the same semantic field with execution storage assigned.

inline Field reindexed(std::string name, const dealii::IndexSet &locally_owned, const dealii::IndexSet &locally_relevant, std::vector<global_index> execution_indices, std::shared_ptr<const dealii::AffineConstraints<double>> execution_constraints = {}) const

Return a view of this FE field with a separate execution numbering.

The FE space and extractor remain unchanged, while the returned field exposes the supplied compact vector layout. This is useful for a component of a mixed native vector: FE shape functions still use the native DoFHandler, but an execution adapter can store the component in its own vector. An empty mapping retains the ordinary FE numbering.

inline bool is_registered() const
inline const std::string &name() const
inline const space_type &space() const
inline const Extractor &extractor() const
inline const dealii::DoFHandler<dim, spacedim> &dof_handler() const
inline const dealii::Mapping<dim, spacedim> &mapping() const
inline const dealii::Triangulation<dim, spacedim> &triangulation() const
inline const dealii::parallel::TriangulationBase<dim, spacedim> &distributed_triangulation() const
inline const dealii::FiniteElement<dim, spacedim> &finite_element() const
inline unsigned int n_dofs_per_cell() const
inline const dealii::AffineConstraints<double> &constraints() const
inline const dealii::IndexSet &locally_owned_dofs() const
inline const dealii::IndexSet &locally_relevant_dofs() const
inline global_index execution_index(const global_index native_index) const

Map a native FE DoF number to the execution-vector DoF number.

inline bool has_execution_index(const global_index native_index) const
inline bool is_reindexed() const

Public Static Functions

static inline constexpr unsigned int dimension()
static inline constexpr unsigned int space_dimension()
static inline constexpr unsigned int spacedimension()
static inline constexpr unsigned int spacedim_dimension()