deal.II version GIT relicensing-2233-g9bd70d8389 2024-12-08 16:10:00+00:00
|
Namespaces | |
namespace | color |
namespace | internal |
namespace | partition |
namespace | VectorDataExchange |
Classes | |
class | ConstraintInfo |
struct | ConstraintValues |
struct | DGP_dofs_per_component |
struct | DGP_dofs_per_component< 1, degree > |
struct | DoFInfo |
struct | FaceIdentifier |
struct | FaceInfo |
struct | FaceSetup |
struct | FaceToCellTopology |
class | HangingNodes |
class | MappingDataOnTheFly |
struct | MappingInfo |
struct | MappingInfoCellsOrFaces |
struct | MappingInfoCellsOrFaces< dim, Number, false, VectorizedArrayType > |
struct | MappingInfoCellsOrFaces< dim, Number, true, VectorizedArrayType > |
struct | MappingInfoStorage |
class | MPICommunication |
struct | ShapeInfo |
struct | TaskInfo |
struct | UnivariateShapeData |
Typedefs | |
using | compressed_constraint_kind = std::uint8_t |
Enumerations | |
enum class | ConstraintKinds : std::uint16_t { unconstrained = 0 , subcell_x = 1 << 0 , subcell_y = 1 << 1 , subcell_z = 1 << 2 , face_x = 1 << 3 , face_y = 1 << 4 , face_z = 1 << 5 , edge_x = 1 << 6 , edge_y = 1 << 7 , edge_z = 1 << 8 } |
enum | GeometryType : unsigned char { cartesian = 0 , affine = 1 , flat_faces = 2 , general = 3 } |
enum | ElementType { tensor_symmetric_collocation = 0 , tensor_symmetric_hermite = 1 , tensor_symmetric = 2 , tensor_symmetric_no_collocation = 3 , tensor_general = 4 , truncated_tensor = 5 , tensor_symmetric_plus_dg0 = 6 , tensor_raviart_thomas = 7 , tensor_none = 8 } |
Functions | |
template<int vectorization_width> | |
void | collect_faces_vectorization (const std::vector< FaceToCellTopology< 1 > > &faces_in, const std::vector< bool > &hard_vectorization_boundary, std::vector< unsigned int > &face_partition_data, std::vector< FaceToCellTopology< vectorization_width > > &faces_out) |
bool | check (const ConstraintKinds kind_in, const unsigned int dim) |
compressed_constraint_kind | compress (const ConstraintKinds kind_in, const unsigned int dim) |
ConstraintKinds | decompress (const compressed_constraint_kind kind_in, const unsigned int dim) |
std::size_t | memory_consumption (const ConstraintKinds &) |
ConstraintKinds | operator| (const ConstraintKinds f1, const ConstraintKinds f2) |
ConstraintKinds & | operator|= (ConstraintKinds &f1, const ConstraintKinds f2) |
bool | operator!= (const ConstraintKinds f1, const ConstraintKinds f2) |
bool | operator< (const ConstraintKinds f1, const ConstraintKinds f2) |
ConstraintKinds | operator& (const ConstraintKinds f1, const ConstraintKinds f2) |
template<int dim> | |
std::pair< ReferenceCell, ::hp::QCollection< dim - 1 > > | get_face_quadrature_collection (const Quadrature< dim > &quad, const bool do_assert=true) |
template<int dim> | |
std::pair< Quadrature< dim - 1 >, Quadrature< dim - 1 > > | get_unique_face_quadratures (const Quadrature< dim > &quad) |
unsigned int | indicate_power_of_two (const unsigned int vectorization_length) |
template void | DoFInfo::print_memory_consumption< std::ostream > (std::ostream &, const TaskInfo &) const |
Variables | |
constexpr compressed_constraint_kind | unconstrained_compressed_constraint_kind = 0 |
typedef std::uint8_t internal::MatrixFreeFunctions::compressed_constraint_kind |
Type of the 8-bit representation of the refinement configuration that is in hanging_nodes_internal.h.
Type of the 8-bit representation of the refinement configuration.
Definition at line 86 of file dof_info.h.
|
strong |
Here is the system for how we store constraint types in a binary mask. This is not a complete contradiction-free system, i.e., there are invalid states. You can use internal::MatrixFreeFunctions::check() to check if the mask is in a valid state.
If the mask is zero, there are no constraints. Then, there are three different fields with one bit per dimension. The first field determines the subcell, or the position of an element along each direction. The second field determines if there is a constrained face with that direction as normal. The last field determines if there is a constrained edge in that direction (only valid in 3d).
Enumerator | |
---|---|
unconstrained | |
subcell_x | |
subcell_y | |
subcell_z | |
face_x | |
face_y | |
face_z | |
edge_x | |
edge_y | |
edge_z |
Definition at line 50 of file hanging_nodes_internal.h.
void internal::MatrixFreeFunctions::collect_faces_vectorization | ( | const std::vector< FaceToCellTopology< 1 > > & | faces_in, |
const std::vector< bool > & | hard_vectorization_boundary, | ||
std::vector< unsigned int > & | face_partition_data, | ||
std::vector< FaceToCellTopology< vectorization_width > > & | faces_out | ||
) |
Actually form the batches for vectorized execution of face integrals.
|
inline |
Check if the combinations of the bits in kind_in
are valid.
Definition at line 92 of file hanging_nodes_internal.h.
|
inline |
Compress a 9-bit representation of the refinement configuration to a 8-bit representation.
Definition at line 134 of file hanging_nodes_internal.h.
|
inline |
Decompress a 8-bit representation of the refinement configuration to a 9-bit representation.
Definition at line 160 of file hanging_nodes_internal.h.
|
inline |
Return the memory consumption in bytes of this enum class.
Definition at line 187 of file hanging_nodes_internal.h.
|
inline |
Global operator which returns an object in which all bits are set which are either set in the first or the second argument. This operator exists since if it did not then the result of the bit-or operator |
would be an integer which would in turn trigger a compiler warning when we tried to assign it to an object of type UpdateFlags.
Definition at line 202 of file hanging_nodes_internal.h.
|
inline |
Global operator which sets the bits from the second argument also in the first one.
Definition at line 215 of file hanging_nodes_internal.h.
|
inline |
Global operator which checks inequality.
Definition at line 227 of file hanging_nodes_internal.h.
|
inline |
Global operator which checks if the first argument is less than the second.
Definition at line 238 of file hanging_nodes_internal.h.
|
inline |
Global operator which performs a binary and for the provided arguments.
Definition at line 250 of file hanging_nodes_internal.h.
|
inline |
|
inline |
Return face quadrature rules. In contrast to get_face_quadrature_collection(), it does not return the quadrature face for each face but returns one of each type. The first entry of the returned pair might contain a quadrature rule defined on lines and quadrilaterals, while the second entry might contain a quadrature rule defined on a triangle.
template void internal::MatrixFreeFunctions::DoFInfo::print_memory_consumption< std::ostream > | ( | std::ostream & | , |
const TaskInfo & | |||
) | const |
|
constexpr |
Value of compressed_constraint_kind for the unconstrained case.
Definition at line 84 of file hanging_nodes_internal.h.