Reference documentation for deal.II version 9.3.3
|
#include <deal.II/hp/mapping_collection.h>
Public Member Functions | |
MappingCollection ()=default | |
MappingCollection (const Mapping< dim, spacedim > &mapping) | |
MappingCollection (const MappingCollection< dim, spacedim > &mapping_collection) | |
template<class... MappingTypes> | |
MappingCollection (const MappingTypes &... mappings) | |
void | push_back (const Mapping< dim, spacedim > &new_mapping) |
void | push_back (const std::shared_ptr< const Mapping< dim, dim > > &new_entry) |
const Mapping< dim, dim > & | operator[] (const unsigned int index) const |
unsigned int | size () const |
std::size_t | memory_consumption () const |
Private Attributes | |
std::vector< std::shared_ptr< const Mapping< dim, dim > > > | entries |
Subscriptor functionality | |
Classes derived from Subscriptor provide a facility to subscribe to this object. This is mostly used by the SmartPointer class. | |
void | subscribe (std::atomic< bool > *const validity, const std::string &identifier="") const |
void | unsubscribe (std::atomic< bool > *const validity, const std::string &identifier="") const |
unsigned int | n_subscriptions () const |
template<typename StreamType > | |
void | list_subscribers (StreamType &stream) const |
void | list_subscribers () const |
template<class Archive > | |
void | serialize (Archive &ar, const unsigned int version) |
std::atomic< unsigned int > | counter |
std::map< std::string, unsigned int > | counter_map |
std::vector< std::atomic< bool > * > | validity_pointers |
const std::type_info * | object_info |
using | map_value_type = decltype(counter_map)::value_type |
using | map_iterator = decltype(counter_map)::iterator |
static std::mutex | mutex |
static ::ExceptionBase & | ExcInUse (int arg1, std::string arg2, std::string arg3) |
static ::ExceptionBase & | ExcNoSubscriber (std::string arg1, std::string arg2) |
void | check_no_subscribers () const noexcept |
This class implements a collection of mapping objects in the same way as the hp::FECollection implements a collection of finite element classes.
It implements the concepts stated in the hp-Collections module described in the doxygen documentation.
Although it is recommended to supply an appropriate mapping for each finite element kind used in a hp-computation, the MappingCollection class implements a conversion constructor from a single mapping. Therefore it is possible to offer only a single mapping to the hp::FEValues class instead of a hp::MappingCollection. This is for the convenience of the user, as many simple geometries do not require different mappings along the boundary to achieve optimal convergence rates. Hence providing a single mapping object will usually suffice. See the hp::FEValues class for the rules which mapping will be selected for a given cell.
Definition at line 56 of file mapping_collection.h.
|
default |
Default constructor. Leads to an empty collection that can later be filled using push_back().
|
explicit |
Conversion constructor. This constructor creates a MappingCollection from a single mapping. More mappings can be added with push_back(), if desired, though it would probably be clearer to add all mappings the same way.
Definition at line 27 of file mapping_collection.cc.
hp::MappingCollection< dim, spacedim >::MappingCollection | ( | const MappingCollection< dim, spacedim > & | mapping_collection | ) |
Copy constructor.
Definition at line 36 of file mapping_collection.cc.
|
explicit |
Constructor. This constructor creates a MappingCollection from one or more mapping objects passed to the constructor. For this call to be valid, all arguments need to be of types derived from class Mapping<dim,spacedim>.
Definition at line 136 of file mapping_collection.h.
void hp::MappingCollection< dim, spacedim >::push_back | ( | const Mapping< dim, spacedim > & | new_mapping | ) |
Add a new mapping to the MappingCollection. Generally, you will want to use the same order for mappings as for the elements of the hp::FECollection object you use. However, the same considerations as discussed with the hp::QCollection::push_back() function also apply in the current context.
This class creates a copy of the given mapping object, i.e., you can do things like push_back(MappingQ<dim>(3));
. The internal copy is later destroyed by this object upon destruction of the entire collection.
Definition at line 47 of file mapping_collection.cc.
|
inherited |
Add a new object.
Definition at line 53 of file collection.h.
|
inlineinherited |
Return the object which was specified by the user for the active FE index which is provided as a parameter to this method.
index
must be between zero and the number of elements of the collection. Definition at line 62 of file collection.h.
|
inlineinherited |
Return the number of objects stored in this container.
Definition at line 68 of file collection.h.
|
inherited |
Determine an estimate for the memory consumption (in bytes) of this object.
Definition at line 75 of file collection.h.
|
privateinherited |
The real container, which stores pointers to the different objects.
Definition at line 81 of file collection.h.