79 DiscreteSpace space_type,
unsigned int n_rows,
unsigned int n_cols)
87 auto &offset_vec = *(
output_mesh_->offsets_->get_component_data(0).get() );
88 size = offset_vec[offset_vec.size()-1];
96 ASSERT(
false).error(
"Should not happen.");
109 auto it=std::find_if(od_vec.begin(), od_vec.end(),
110 [&field_name](
OutputDataPtr ptr) {
return (ptr->field_input_name() == field_name); });
114 od_vec.push_back( std::make_shared<
ElementDataCache<T> >(field_name, n_rows*n_cols, size) );
118 ASSERT(
it != od_vec.end()).error(
"Try to add non-existing output field after first step.");
119 *
it = std::make_shared< ElementDataCache<T> >(field_name, n_rows*n_cols, size);
Classes for auxiliary output mesh.
std::shared_ptr< OutputMeshBase > output_mesh_
Output mesh.
std::shared_ptr< ElementDataCacheBase > OutputDataPtr
#define ASSERT(expr)
Allow use shorter versions of macro names if these names is not used with external library...
OutputDataPtr prepare_compute_data(std::string field_name, DiscreteSpace space_type, unsigned int n_rows, unsigned int n_cols)
Class OutputElement and its iterator OutputElementIterator on the output mesh.
OutputDataFieldVec output_data_vec_[N_DISCRETE_SPACES]