Flow123d
JS_before_hm-1576-g4d0b70e
|
Class represents output mesh with discontinuous elements. More...
#include <output_mesh.hh>
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_refined_sub_mesh () override |
Implements OutputMeshBase::create_refined_sub_mesh. More... | |
void | make_parallel_master_mesh () override |
Overrides OutputMeshBase::make_parallel_master_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... | |
std::shared_ptr< OutputMeshBase > | get_master_mesh () |
Return master output mesh if exists or shared_ptr of this object. 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 ¢re, const ElementAccessor< spacedim > &ele_acc) |
Refinement flag - measures discretisation error according to error control field. More... | |
std::shared_ptr< OutputMeshBase > | construct_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... | |
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::Record & | get_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... | |
Mesh * | orig_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< OutputMeshBase > | master_mesh_ |
LongIdx * | el_4_loc_ |
Index set assigning to local element index its global index. More... | |
Distribution * | el_ds_ |
Parallel distribution of elements. More... | |
LongIdx * | node_4_loc_ |
Index set assigning to local node index its global index. More... | |
Distribution * | node_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... | |
Class represents output mesh with discontinuous elements.
Definition at line 263 of file output_mesh.hh.
OutputMeshDiscontinuous::OutputMeshDiscontinuous | ( | Mesh & | mesh | ) |
Definition at line 347 of file output_mesh.cc.
OutputMeshDiscontinuous::OutputMeshDiscontinuous | ( | Mesh & | mesh, |
const Input::Record & | in_rec | ||
) |
Definition at line 353 of file output_mesh.cc.
OutputMeshDiscontinuous::~OutputMeshDiscontinuous | ( | ) |
Definition at line 360 of file output_mesh.cc.
|
overrideprotectedvirtual |
Implements OutputMeshBase::construct_mesh.
Implements OutputMeshBase.
Definition at line 569 of file output_mesh.cc.
|
overridevirtual |
Implements OutputMeshBase::create_refined_sub_mesh.
Implements OutputMeshBase.
Definition at line 621 of file output_mesh.cc.
|
overridevirtual |
Overrides OutputMeshBase::make_parallel_master_mesh.
Reimplemented from OutputMeshBase.
Definition at line 725 of file output_mesh.cc.
|
overrideprotectedvirtual |
Implements OutputMeshBase::make_serial_connectivity_cache.
Implements OutputMeshBase.
Definition at line 606 of file output_mesh.cc.
|
overrideprotectedvirtual |
Implements OutputMeshBase::make_serial_nodes_cache.
Implements OutputMeshBase.
Definition at line 575 of file output_mesh.cc.
|
protected |
Performs the actual refinement of AuxElement. Recurrent.
Definition at line 366 of file output_mesh.cc.
|
protected |
Collects different refinement criteria results.
Definition at line 512 of file output_mesh.cc.
|
protected |
Refinement flag - measures discretisation error according to error control field.
Definition at line 538 of file output_mesh.cc.
|
protected |
Refinement flag - checks only maximal level of refinement.
Definition at line 533 of file output_mesh.cc.