|
DOLFINx 0.10.0.0
DOLFINx C++ interface
|
Functions supporting the packing of coefficient data. More...
#include "Constant.h"#include "DofMap.h"#include "FiniteElement.h"#include "Form.h"#include "Function.h"#include "FunctionSpace.h"#include "traits.h"#include <array>#include <basix/mdspan.hpp>#include <concepts>#include <dolfinx/mesh/Topology.h>#include <span>#include <stdexcept>#include <type_traits>#include <vector>

Go to the source code of this file.
Namespaces | |
| namespace | dolfinx |
| Top-level namespace. | |
| namespace | dolfinx::fem |
| Finite element method functionality. | |
Functions | |
| template<int _bs, dolfinx::scalar T> | |
| void | pack_impl (std::span< T > coeffs, std::int32_t cell, int bs, std::span< const T > v, std::span< const std::uint32_t > cell_info, const DofMap &dofmap, auto transform) |
| Pack a single coefficient for a single cell. | |
| template<dolfinx::scalar T, std::floating_point U> | |
| void | pack_coefficient_entity (std::span< T > c, int cstride, const Function< T, U > &u, std::span< const std::uint32_t > cell_info, auto cells, std::int32_t offset) |
| Pack a single coefficient for a set of active entities. | |
| template<dolfinx::scalar T, std::floating_point U> | |
| std::pair< std::vector< T >, int > | allocate_coefficient_storage (const Form< T, U > &form, IntegralType integral_type, int id) |
| Allocate storage for coefficients of a pair (integral_type,
/ id) from a Form. | |
| template<dolfinx::scalar T, std::floating_point U> | |
| std::map< std::pair< IntegralType, int >, std::pair< std::vector< T >, int > > | allocate_coefficient_storage (const Form< T, U > &form) |
| Allocate memory for packed coefficients of a Form. | |
| template<dolfinx::scalar T, std::floating_point U> | |
| void | pack_coefficients (const Form< T, U > &form, std::map< std::pair< IntegralType, int >, std::pair< std::vector< T >, int > > &coeffs) |
| Pack coefficients of a Form. | |
| template<dolfinx::scalar T, std::floating_point U> | |
| void | pack_coefficients (std::vector< std::reference_wrapper< const Function< T, U > > > coeffs, std::span< const int > offsets, fem::MDSpan2 auto entities, std::span< T > c) |
| Pack coefficient data over a list of cells or facets. | |
| template<typename T> | |
| std::vector< T > | pack_constants (std::vector< std::reference_wrapper< const fem::Constant< T > > > c) |
| Pack constants of an Expression or Form into a single array ready for assembly. | |
| template<typename U> requires std::convertible_to< U, fem::Expression<typename std::decay_t<U>::scalar_type, typename std::decay_t<U>::geometry_type>> or std::convertible_to< U, fem::Form<typename std::decay_t<U>::scalar_type, typename std::decay_t<U>::geometry_type>> | |
| std::vector< typename U::scalar_type > | pack_constants (const U &u) |
| Pack constants of an Expression or Form into a single array ready for assembly. | |
Functions supporting the packing of coefficient data.
| void pack_coefficient_entity | ( | std::span< T > | c, |
| int | cstride, | ||
| const Function< T, U > & | u, | ||
| std::span< const std::uint32_t > | cell_info, | ||
| auto | cells, | ||
| std::int32_t | offset ) |
Pack a single coefficient for a set of active entities.
| [out] | c | Coefficient to be packed. |
| [in] | cstride | Total number of coefficient values to pack for each entity. |
| [in] | u | Function to extract coefficient data from. |
| [in] | cell_info | Array of bytes describing which transformation has to be applied on the cell to map it to the reference element. |
| [in] | cells | Set of active cells. |
| [in] | offset | The offset for c. |