Flow123d  release_3.0.0-688-g6b683cf
Classes | Public Member Functions | Protected Member Functions | List of all members
OutputMeshDiscontinuous Class Reference

Class represents output mesh with discontinuous elements. More...

#include <output_mesh.hh>

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

Classes

struct  AuxElement
 Auxiliary structure defining element of refined output mesh. More...
 

Public Member Functions

 OutputMeshDiscontinuous (Mesh &mesh)
 
 OutputMeshDiscontinuous (Mesh &mesh, const Input::Record &in_rec)
 
 ~OutputMeshDiscontinuous ()
 
void create_mesh () override
 Creates the output mesh identical to the orig mesh. More...
 
void create_refined_mesh () override
 Creates discontinuous refined mesh. More...
 
void create_sub_mesh () override
 Creates sub mesh. More...
 
- Public Member Functions inherited from OutputMeshBase
 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...
 
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...
 

Protected Member Functions

template<int dim>
void refine_aux_element (const AuxElement &aux_element, std::vector< AuxElement > &refinement, const ElementAccessor< spacedim > &ele_acc)
 Performs the actual refinement of AuxElement. Recurrent. More...
 
bool refinement_criterion (const AuxElement &ele, const ElementAccessor< spacedim > &ele_acc)
 Collects different refinement criteria results. More...
 
bool refinement_criterion_uniform (const AuxElement &ele)
 Refinement flag - checks only maximal level of refinement. More...
 
bool refinement_criterion_error (const AuxElement &ele, const Space< spacedim >::Point &centre, const ElementAccessor< spacedim > &ele_acc)
 Refinement flag - measures discretisation error according to error control field. More...
 

Additional Inherited Members

- Public Types inherited from OutputMeshBase
typedef std::function< void(const std::vector< Space< spacedim >::Point > &, const ElementAccessor< spacedim > &, std::vector< double > &)> ErrorControlFieldFunc
 
- Static Public Member Functions inherited from OutputMeshBase
static const Input::Type::Recordget_input_type ()
 The specification of output mesh. More...
 
- Static Public Attributes inherited from OutputMeshBase
static const unsigned int spacedim = 3
 Shortcut instead of spacedim template. We suppose only spacedim=3 at the moment. More...
 
- Protected Types inherited from OutputMeshBase
enum  MeshType { orig, refined, discont }
 
- Protected Attributes inherited from OutputMeshBase
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...
 

Detailed Description

Class represents output mesh with discontinuous elements.

Definition at line 191 of file output_mesh.hh.

Constructor & Destructor Documentation

OutputMeshDiscontinuous::OutputMeshDiscontinuous ( Mesh mesh)

Definition at line 236 of file output_mesh.cc.

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

Definition at line 241 of file output_mesh.cc.

OutputMeshDiscontinuous::~OutputMeshDiscontinuous ( )

Definition at line 247 of file output_mesh.cc.

Member Function Documentation

void OutputMeshDiscontinuous::create_mesh ( )
overridevirtual

Creates the output mesh identical to the orig mesh.

Implements OutputMeshBase.

Definition at line 252 of file output_mesh.cc.

void OutputMeshDiscontinuous::create_refined_mesh ( )
overridevirtual

Creates discontinuous refined mesh.

Implements OutputMeshBase.

Definition at line 309 of file output_mesh.cc.

void OutputMeshDiscontinuous::create_sub_mesh ( )
overridevirtual

Creates sub mesh.

Implements OutputMeshBase.

Definition at line 547 of file output_mesh.cc.

template<int dim>
template void OutputMeshDiscontinuous::refine_aux_element< 3 > ( const AuxElement aux_element,
std::vector< AuxElement > &  refinement,
const ElementAccessor< spacedim > &  ele_acc 
)
protected

Performs the actual refinement of AuxElement. Recurrent.

Definition at line 408 of file output_mesh.cc.

bool OutputMeshDiscontinuous::refinement_criterion ( const AuxElement ele,
const ElementAccessor< spacedim > &  ele_acc 
)
protected

Collects different refinement criteria results.

Definition at line 607 of file output_mesh.cc.

Here is the caller graph for this function:

bool OutputMeshDiscontinuous::refinement_criterion_error ( const AuxElement ele,
const Space< spacedim >::Point &  centre,
const ElementAccessor< spacedim > &  ele_acc 
)
protected

Refinement flag - measures discretisation error according to error control field.

Definition at line 633 of file output_mesh.cc.

Here is the caller graph for this function:

bool OutputMeshDiscontinuous::refinement_criterion_uniform ( const AuxElement ele)
protected

Refinement flag - checks only maximal level of refinement.

Definition at line 628 of file output_mesh.cc.

Here is the caller graph for this function:


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