18 #ifndef OUTPUT_MESH_HH_ 19 #define OUTPUT_MESH_HH_ 30 namespace Input {
namespace Type {
class Record; } }
65 static const unsigned int spacedim = 3;
88 virtual void create_mesh()=0;
91 virtual void create_refined_mesh()=0;
94 virtual void create_sub_mesh()=0;
100 unsigned int n_nodes();
102 unsigned int n_elements();
108 void create_id_caches();
142 std::shared_ptr<ElementDataCache<double>>
nodes_;
146 std::shared_ptr<ElementDataCache<unsigned int>>
offsets_;
149 std::shared_ptr<ElementDataCache<unsigned int>>
node_ids_;
151 std::shared_ptr<ElementDataCache<unsigned int>>
elem_ids_;
174 void create_mesh()
override;
177 void create_refined_mesh()
override;
180 void create_sub_mesh()
override;
183 bool refinement_criterion();
199 void create_mesh()
override;
202 void create_refined_mesh()
override;
205 void create_sub_mesh()
override;
216 void refine_aux_element(
const AuxElement& aux_element,
222 bool refinement_criterion(
const AuxElement& ele,
226 bool refinement_criterion_uniform(
const AuxElement& ele);
229 bool refinement_criterion_error(
const AuxElement& ele,
235 #endif // OUTPUT_MESH_HH_ Class represents output mesh with continuous elements.
Iter< OutputElement > OutputElementIterator
Base class for Output mesh.
Represents an element of the output mesh. Provides element access on the data of the output mesh (nod...
std::function< void(const std::vector< Space< spacedim >::Point > &, const ElementAccessor< spacedim > &, std::vector< double > &)> ErrorControlFieldFunc
Mesh * orig_mesh_
Pointer to the computational mesh.
const unsigned int max_level_
Maximal level of refinement.
Template Iter serves as general template for internal iterators.
double refinement_error_tolerance_
Tolerance for error criterion refinement.
std::shared_ptr< ElementDataCache< unsigned int > > connectivity_
Vector maps the nodes to their coordinates in vector nodes_.
std::shared_ptr< ElementDataCache< unsigned int > > node_ids_
Vector gets ids of nodes. Data is used in GMSH output.
std::shared_ptr< ElementDataCache< unsigned int > > offsets_
Vector of offsets of node indices of elements. Maps elements to their nodes in connectivity_.
std::shared_ptr< ElementDataCache< double > > nodes_
Vector of node coordinates. [spacedim x n_nodes].
Class represents output mesh with discontinuous elements.
ErrorControlFieldFunc error_control_field_func_
Refinement error control field function (hold value_list function of field).
arma::vec::fixed< spacedim > Point
Auxiliary structure defining element of refined output mesh.
This class is used for output data to VTK file format.
std::shared_ptr< ElementDataCache< unsigned int > > region_ids_
Vector gets ids of regions. Data is used in GMSH output.
The class for outputting data during time.
Input::Record input_record_
Input record for output mesh.
General iterator template. Provides iterator over objects in some container.
std::shared_ptr< ElementDataCache< int > > partitions_
Vector gets partitions of elements. Data is used in GMSH output.
bool refine_by_error_
True, if output mesh is to be refined by error criterion.
MeshType mesh_type_
Type of OutputMesh.
std::vector< Space< spacedim >::Point > nodes
std::shared_ptr< ElementDataCache< unsigned int > > elem_ids_
Vector gets ids of elements. Data is used in GMSH output.
same as original (computational) mesh
This class is used for output data to VTK file format.
std::shared_ptr< std::vector< unsigned int > > orig_element_indices_
Vector of element indices in the computational mesh. (Important when refining.)