Flow123d  release_3.0.0-506-g34af125
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Types | Protected Attributes | Friends | List of all members
OutputMeshBase Class Referenceabstract

Base class for Output mesh. More...

#include <output_mesh.hh>

Inheritance diagram for OutputMeshBase:
Inheritance graph
[legend]
Collaboration diagram for OutputMeshBase:
Collaboration graph
[legend]

Public Types

typedef std::function< void(const std::vector< Space< spacedim >::Point > &, const ElementAccessor< spacedim > &, std::vector< double > &)> ErrorControlFieldFunc
 

Public Member Functions

 OutputMeshBase (Mesh &mesh)
 Constructor. Takes computational mesh as a parameter. More...
 
 OutputMeshBase (Mesh &mesh, const Input::Record &in_rec)
 Constructor. Takes computational mesh and input record as a parameters. More...
 
virtual ~OutputMeshBase ()
 
OutputElementIterator begin ()
 Gives iterator to the FIRST element of the output mesh. More...
 
OutputElementIterator end ()
 Gives iterator to the LAST element of the output mesh. More...
 
virtual void create_mesh ()=0
 Creates the output mesh identical to the orig mesh. More...
 
virtual void create_refined_mesh ()=0
 Creates refined mesh. More...
 
virtual void create_sub_mesh ()=0
 Creates sub mesh containing only local elements. More...
 
void set_error_control_field (ErrorControlFieldFunc error_control_field_func)
 Selects the error control field computing function of output field set according to input record. More...
 
unsigned int n_nodes ()
 Returns number of nodes. More...
 
unsigned int n_elements ()
 Returns number of element. More...
 
bool is_created ()
 Check if nodes_, connectivity_ and offsets_ data caches are created. More...
 
void create_id_caches ()
 Create nodes and elements data caches. More...
 

Static Public Member Functions

static const Input::Type::Recordget_input_type ()
 The specification of output mesh. More...
 

Static Public Attributes

static const unsigned int spacedim = 3
 Shortcut instead of spacedim template. We suppose only spacedim=3 at the moment. More...
 

Protected Types

enum  MeshType { orig, refined, discont }
 

Protected Attributes

Input::Record input_record_
 Input record for output mesh. More...
 
Meshorig_mesh_
 Pointer to the computational mesh. More...
 
const unsigned int max_level_
 Maximal level of refinement. More...
 
ErrorControlFieldFunc error_control_field_func_
 Refinement error control field function (hold value_list function of field). More...
 
MeshType mesh_type_
 Type of OutputMesh. More...
 
bool refine_by_error_
 True, if output mesh is to be refined by error criterion. More...
 
double refinement_error_tolerance_
 Tolerance for error criterion refinement. More...
 
std::shared_ptr< std::vector< unsigned int > > orig_element_indices_
 Vector of element indices in the computational mesh. (Important when refining.) More...
 
std::shared_ptr< ElementDataCache< double > > nodes_
 Vector of node coordinates. [spacedim x n_nodes]. More...
 
std::shared_ptr< ElementDataCache< unsigned int > > connectivity_
 Vector maps the nodes to their coordinates in vector nodes_. More...
 
std::shared_ptr< ElementDataCache< unsigned int > > offsets_
 Vector of offsets of node indices of elements. Maps elements to their nodes in connectivity_. More...
 
std::shared_ptr< ElementDataCache< unsigned int > > node_ids_
 Vector gets ids of nodes. Data is used in GMSH output. More...
 
std::shared_ptr< ElementDataCache< unsigned int > > elem_ids_
 Vector gets ids of elements. Data is used in GMSH output. More...
 
std::shared_ptr< ElementDataCache< unsigned int > > region_ids_
 Vector gets ids of regions. Data is used in GMSH output. More...
 
std::shared_ptr< ElementDataCache< int > > partitions_
 Vector gets partitions of elements. Data is used in GMSH output. More...
 

Friends

class OutputElement
 Friend provides access to vectors for element accessor class. More...
 
class OutputTime
 
class OutputMSH
 
class OutputVTK
 

Detailed Description

Base class for Output mesh.

Defines common members for Output mesh classes:

Making of output meshes and calling of their initialization methods must be execute in correct order, see example:

// Create or get Mesh object
Mesh * my_mesh = ...
// Construct mesh with continuous elements
std::make_shared<OutputMesh> output_mesh = std::make_shared<OutputMesh>(*my_mesh);
// Creates the mesh identical to the computational one.
output_mesh->create_mesh();
// Construct mesh with discontinuous elements
std::make_shared<OutputMeshDiscontinuous> output_mesh_discont = std::make_shared<OutputMeshDiscontinuous>(*my_mesh);
// Creates mesh from the original my_mesh.
output_mesh_discont->create_mesh();

Definition at line 61 of file output_mesh.hh.

Member Typedef Documentation

typedef std::function<void(const std::vector< Space<spacedim>::Point > &, const ElementAccessor<spacedim> &, std::vector<double> &)> OutputMeshBase::ErrorControlFieldFunc

Definition at line 68 of file output_mesh.hh.

Member Enumeration Documentation

enum OutputMeshBase::MeshType
protected

Possible types of OutputMesh.

Enumerator
orig 

same as original (computational) mesh

refined 

refined mesh

discont 

discontinuous mesh

Definition at line 114 of file output_mesh.hh.

Constructor & Destructor Documentation

OutputMeshBase::OutputMeshBase ( Mesh mesh)

Constructor. Takes computational mesh as a parameter.

Definition at line 47 of file output_mesh.cc.

OutputMeshBase::OutputMeshBase ( Mesh mesh,
const Input::Record in_rec 
)

Constructor. Takes computational mesh and input record as a parameters.

Definition at line 58 of file output_mesh.cc.

OutputMeshBase::~OutputMeshBase ( )
virtual

Definition at line 69 of file output_mesh.cc.

Member Function Documentation

OutputElementIterator OutputMeshBase::begin ( )

Gives iterator to the FIRST element of the output mesh.

Definition at line 73 of file output_mesh.cc.

Here is the caller graph for this function:

void OutputMeshBase::create_id_caches ( )

Create nodes and elements data caches.

Definition at line 105 of file output_mesh.cc.

virtual void OutputMeshBase::create_mesh ( )
pure virtual

Creates the output mesh identical to the orig mesh.

Implemented in OutputMeshDiscontinuous, and OutputMesh.

virtual void OutputMeshBase::create_refined_mesh ( )
pure virtual

Creates refined mesh.

Implemented in OutputMeshDiscontinuous, and OutputMesh.

virtual void OutputMeshBase::create_sub_mesh ( )
pure virtual

Creates sub mesh containing only local elements.

Implemented in OutputMeshDiscontinuous, and OutputMesh.

OutputElementIterator OutputMeshBase::end ( )

Gives iterator to the LAST element of the output mesh.

Definition at line 80 of file output_mesh.cc.

const IT::Record & OutputMeshBase::get_input_type ( )
static

The specification of output mesh.

Returns
record for output mesh

Definition at line 32 of file output_mesh.cc.

Here is the caller graph for this function:

bool OutputMeshBase::is_created ( )

Check if nodes_, connectivity_ and offsets_ data caches are created.

Definition at line 137 of file output_mesh.cc.

Here is the caller graph for this function:

unsigned int OutputMeshBase::n_elements ( )

Returns number of element.

Definition at line 93 of file output_mesh.cc.

Here is the caller graph for this function:

unsigned int OutputMeshBase::n_nodes ( )

Returns number of nodes.

Definition at line 99 of file output_mesh.cc.

Here is the caller graph for this function:

void OutputMeshBase::set_error_control_field ( ErrorControlFieldFunc  error_control_field_func)

Selects the error control field computing function of output field set according to input record.

Definition at line 88 of file output_mesh.cc.

Friends And Related Function Documentation

friend class OutputElement
friend

Friend provides access to vectors for element accessor class.

Definition at line 158 of file output_mesh.hh.

friend class OutputMSH
friend

Definition at line 160 of file output_mesh.hh.

friend class OutputTime
friend

Definition at line 159 of file output_mesh.hh.

friend class OutputVTK
friend

Definition at line 161 of file output_mesh.hh.

Member Data Documentation

std::shared_ptr<ElementDataCache<unsigned int> > OutputMeshBase::connectivity_
protected

Vector maps the nodes to their coordinates in vector nodes_.

Definition at line 144 of file output_mesh.hh.

std::shared_ptr<ElementDataCache<unsigned int> > OutputMeshBase::elem_ids_
protected

Vector gets ids of elements. Data is used in GMSH output.

Definition at line 151 of file output_mesh.hh.

ErrorControlFieldFunc OutputMeshBase::error_control_field_func_
protected

Refinement error control field function (hold value_list function of field).

Definition at line 132 of file output_mesh.hh.

Input::Record OutputMeshBase::input_record_
protected

Input record for output mesh.

Definition at line 123 of file output_mesh.hh.

const unsigned int OutputMeshBase::max_level_
protected

Maximal level of refinement.

Definition at line 129 of file output_mesh.hh.

MeshType OutputMeshBase::mesh_type_
protected

Type of OutputMesh.

Definition at line 134 of file output_mesh.hh.

std::shared_ptr<ElementDataCache<unsigned int> > OutputMeshBase::node_ids_
protected

Vector gets ids of nodes. Data is used in GMSH output.

Definition at line 149 of file output_mesh.hh.

std::shared_ptr<ElementDataCache<double> > OutputMeshBase::nodes_
protected

Vector of node coordinates. [spacedim x n_nodes].

Definition at line 142 of file output_mesh.hh.

std::shared_ptr<ElementDataCache<unsigned int> > OutputMeshBase::offsets_
protected

Vector of offsets of node indices of elements. Maps elements to their nodes in connectivity_.

Definition at line 146 of file output_mesh.hh.

std::shared_ptr<std::vector<unsigned int> > OutputMeshBase::orig_element_indices_
protected

Vector of element indices in the computational mesh. (Important when refining.)

Definition at line 139 of file output_mesh.hh.

Mesh* OutputMeshBase::orig_mesh_
protected

Pointer to the computational mesh.

Definition at line 126 of file output_mesh.hh.

std::shared_ptr<ElementDataCache<int> > OutputMeshBase::partitions_
protected

Vector gets partitions of elements. Data is used in GMSH output.

Definition at line 155 of file output_mesh.hh.

bool OutputMeshBase::refine_by_error_
protected

True, if output mesh is to be refined by error criterion.

Definition at line 135 of file output_mesh.hh.

double OutputMeshBase::refinement_error_tolerance_
protected

Tolerance for error criterion refinement.

Definition at line 136 of file output_mesh.hh.

std::shared_ptr<ElementDataCache<unsigned int> > OutputMeshBase::region_ids_
protected

Vector gets ids of regions. Data is used in GMSH output.

Definition at line 153 of file output_mesh.hh.

const unsigned int OutputMeshBase::spacedim = 3
static

Shortcut instead of spacedim template. We suppose only spacedim=3 at the moment.

Definition at line 65 of file output_mesh.hh.


The documentation for this class was generated from the following files: