7#ifndef __SERIESMULTIINDICES_HPP__
8#define __SERIESMULTIINDICES_HPP__
12struct FieldSeriesStep;
59 std::vector<FieldData>
data;
68 for (; it != hi_it; it++) {
69 ierr =
push_dofs((*it)->getEnt(), (*it)->getNonNonuniqueShortId(),
70 (*it)->getFieldData());
96 inline boost::string_ref
getNameRef()
const {
return ptr->getNameRef(); }
98 inline std::string
getName()
const {
return ptr->getName(); }
101 return ptr->get_FieldSeries_ptr();
118 const int _step_number);
135typedef multi_index_container<
137 indexed_by<ordered_unique<tag<SeriesID_mi_tag>,
138 const_mem_fun<FieldSeries, EntityID,
140 ordered_unique<tag<SeriesName_mi_tag>,
141 const_mem_fun<FieldSeries, boost::string_ref,
150typedef multi_index_container<
154 tag<Composite_SeriesID_And_Step_mi_tag>,
159 member<FieldSeriesStep, int, &FieldSeriesStep::step_number>>>,
161 tag<Composite_SeriesName_And_Step_mi_tag>,
166 member<FieldSeriesStep, int, &FieldSeriesStep::step_number>>>,
168 tag<SeriesName_mi_tag>,
172 tag<Composite_SeriesName_And_Time_mi_tag>,
#define MoFEMFunctionReturnHot(a)
Last executable line of each PETSc function used for error handling. Replaces return()
#define CHKERRG(n)
Check error code of MoFEM/MOAB/PETSc function.
#define MoFEMFunctionBeginHot
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
multi_index_container< boost::shared_ptr< DofEntity >, indexed_by< ordered_unique< tag< Unique_mi_tag >, const_mem_fun< DofEntity, UId, &DofEntity::getLocalUniqueId > >, ordered_non_unique< tag< Ent_mi_tag >, const_mem_fun< DofEntity, EntityHandle, &DofEntity::getEnt > > > > DofEntity_multiIndex
MultiIndex container keeps DofEntity.
multi_index_container< FieldSeriesStep, indexed_by< ordered_unique< tag< Composite_SeriesID_And_Step_mi_tag >, composite_key< FieldSeriesStep, const_mem_fun< FieldSeriesStep::interface_type_FieldSeries, EntityID, &FieldSeriesStep::get_meshset_id >, member< FieldSeriesStep, int, &FieldSeriesStep::step_number > > >, ordered_unique< tag< Composite_SeriesName_And_Step_mi_tag >, composite_key< FieldSeriesStep, const_mem_fun< FieldSeriesStep::interface_type_FieldSeries, boost::string_ref, &FieldSeriesStep::getNameRef >, member< FieldSeriesStep, int, &FieldSeriesStep::step_number > > >, ordered_non_unique< tag< SeriesName_mi_tag >, const_mem_fun< FieldSeriesStep::interface_type_FieldSeries, boost::string_ref, &FieldSeriesStep::getNameRef > >, ordered_non_unique< tag< Composite_SeriesName_And_Time_mi_tag >, composite_key< FieldSeriesStep, const_mem_fun< FieldSeriesStep::interface_type_FieldSeries, boost::string_ref, &FieldSeriesStep::getNameRef >, const_mem_fun< FieldSeriesStep, double, &FieldSeriesStep::get_time > > > > > SeriesStep_multiIndex
Step multi index.
multi_index_container< FieldSeries, indexed_by< ordered_unique< tag< SeriesID_mi_tag >, const_mem_fun< FieldSeries, EntityID, &FieldSeries::get_meshset_id > >, ordered_unique< tag< SeriesName_mi_tag >, const_mem_fun< FieldSeries, boost::string_ref, &FieldSeries::getNameRef > > > > Series_multiIndex
Series multi index.
static MoFEMErrorCodeGeneric< PetscErrorCode > ierr
PetscErrorCode MoFEMErrorCode
MoFEM/PETSc error code.
int ShortId
Unique Id in the field.
implementation of Data Operators for Forces and Sources
constexpr IntegrationType IT
Deprecated interface functions.
Structure for recording (time) series.
MoFEMErrorCode set_time(double time)
std::vector< ShortId > uids
MoFEMErrorCode end(double time=0)
std::string getName() const
get series name
MoFEMErrorCode push_dofs(const EntityHandle ent, const ShortId uid, const FieldData val)
std::vector< FieldData > data
MoFEMErrorCode get_nb_steps(Interface &moab, int &nb_setps) const
boost::string_ref getNameRef() const
get string_ref of series
const void * tagName
tag keeps name of the series
EntityHandle getMeshset() const
get meshset
EntityID get_meshset_id() const
const FieldSeries * get_FieldSeries_ptr() const
MoFEMErrorCode read(Interface &moab)
std::vector< EntityHandle > handles
std::vector< double > time
MoFEMErrorCode save(Interface &moab) const
MoFEMErrorCode push_dofs(IT it, IT hi_it)
friend std::ostream & operator<<(std::ostream &os, const FieldSeries &e)
int tagNameSize
number of bits necessary to keep field series
Structure for keeping time and step.
friend std::ostream & operator<<(std::ostream &os, const FieldSeriesStep &e)
interface_FieldSeries< FieldSeries > interface_type_FieldSeries
int get_step_number() const
MoFEMErrorCode get(Interface &moab, DofEntity_multiIndex &dofsField) const
MoFEMErrorCode get_time_init(Interface &moab)
interface_FieldSeries(const T *_ptr)
boost::string_ref getNameRef() const
get string_ref of series
EntityID get_meshset_id() const
std::string getName() const
get series name
const FieldSeries * get_FieldSeries_ptr() const
EntityHandle getMeshset() const
get meshset