Flow123d  JS_before_hm-2088-g1c00063e5
Public Member Functions | Protected Member Functions | Friends | List of all members
OutputMesh Class Reference

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

#include <output_mesh.hh>

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

Public Member Functions

 OutputMesh (Mesh &mesh)
 
 OutputMesh (Mesh &mesh, const Input::Record &in_rec)
 
 ~OutputMesh ()
 
void create_refined_sub_mesh () override
 Implements OutputMeshBase::create_refined_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 create_sub_mesh ()
 
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...
 
void make_serial_master_mesh ()
 Synchronize parallel data and create serial COLECTIVE output mesh on zero process. More...
 
virtual void make_parallel_master_mesh ()
 Create output mesh of parallel output (implemented only for discontinuous mesh) More...
 
std::shared_ptr< OutputMeshBaseget_master_mesh ()
 Return master output mesh if exists or shared_ptr of this object. More...
 
LongIdx get_loc_elem_idx (LongIdx global_idx)
 
std::shared_ptr< ElementDataCache< unsigned int > > offsets () const
 Getter to offsets data. More...
 

Protected Member Functions

bool refinement_criterion ()
 
std::shared_ptr< OutputMeshBaseconstruct_mesh () override
 Implements OutputMeshBase::construct_mesh. More...
 
std::shared_ptr< ElementDataCache< double > > make_serial_nodes_cache (std::shared_ptr< ElementDataCache< unsigned int >> global_offsets) override
 Implements OutputMeshBase::make_serial_nodes_cache. More...
 
std::shared_ptr< ElementDataCache< unsigned int > > make_serial_connectivity_cache (std::shared_ptr< ElementDataCache< unsigned int >> global_offsets) override
 Implements OutputMeshBase::make_serial_connectivity_cache. More...
 
- Protected Member Functions inherited from OutputMeshBase
std::shared_ptr< ElementDataCache< unsigned int > > get_elems_n_nodes ()
 Compute and return number of nodes for each elements (compute from offsets) More...
 

Friends

class OutputMeshDiscontinuous
 Friend provides access to vectors for discontinous output mesh. More...
 

Additional Inherited Members

- Public Types inherited from OutputMeshBase
typedef std::function< void(const Armor::array &, 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...
 
std::shared_ptr< OutputMeshBasemaster_mesh_
 
LongIdxel_4_loc_
 Index set assigning to local element index its global index. More...
 
LongIdxloc_4_el_
 Index set assigning to global index its local element index. More...
 
Distributionel_ds_
 Parallel distribution of elements. More...
 
LongIdxnode_4_loc_
 Index set assigning to local node index its global index. More...
 
Distributionnode_ds_
 Parallel distribution of nodes. Depends on elements distribution. More...
 
unsigned int n_local_nodes_
 Hold number of local nodes (own + ghost), value is equal with size of node_4_loc array. More...
 

Detailed Description

Class represents output mesh with continuous elements.

Definition at line 252 of file output_mesh.hh.

Constructor & Destructor Documentation

◆ OutputMesh() [1/2]

OutputMesh::OutputMesh ( Mesh mesh)

Definition at line 275 of file output_mesh.cc.

◆ OutputMesh() [2/2]

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

Definition at line 281 of file output_mesh.cc.

◆ ~OutputMesh()

OutputMesh::~OutputMesh ( )

Definition at line 288 of file output_mesh.cc.

Member Function Documentation

◆ construct_mesh()

std::shared_ptr< OutputMeshBase > OutputMesh::construct_mesh ( )
overrideprotectedvirtual

Implements OutputMeshBase::construct_mesh.

Implements OutputMeshBase.

Definition at line 305 of file output_mesh.cc.

◆ create_refined_sub_mesh()

void OutputMesh::create_refined_sub_mesh ( )
overridevirtual

Implements OutputMeshBase::create_refined_sub_mesh.

Implements OutputMeshBase.

Definition at line 293 of file output_mesh.cc.

◆ make_serial_connectivity_cache()

std::shared_ptr< ElementDataCache< unsigned int > > OutputMesh::make_serial_connectivity_cache ( std::shared_ptr< ElementDataCache< unsigned int >>  global_offsets)
overrideprotectedvirtual

Implements OutputMeshBase::make_serial_connectivity_cache.

Implements OutputMeshBase.

Definition at line 323 of file output_mesh.cc.

◆ make_serial_nodes_cache()

std::shared_ptr< ElementDataCache< double > > OutputMesh::make_serial_nodes_cache ( std::shared_ptr< ElementDataCache< unsigned int >>  global_offsets)
overrideprotectedvirtual

Implements OutputMeshBase::make_serial_nodes_cache.

Implements OutputMeshBase.

Definition at line 311 of file output_mesh.cc.

◆ refinement_criterion()

bool OutputMesh::refinement_criterion ( )
protected

Definition at line 298 of file output_mesh.cc.

Friends And Related Function Documentation

◆ OutputMeshDiscontinuous

friend class OutputMeshDiscontinuous
friend

Friend provides access to vectors for discontinous output mesh.

Definition at line 275 of file output_mesh.hh.


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