Flow123d  JS_before_hm-1576-g4d0b70e
Public Member Functions | Private Member Functions | Private Attributes | List of all members
MeshOptimizer< DIM > Class Template Reference

#include <mesh_optimizer.hh>

Collaboration diagram for MeshOptimizer< DIM >:
Collaboration graph
[legend]

Public Member Functions

 MeshOptimizer (Mesh *mesh)
 
void calculate_sizes ()
 
void calculate_node_curve_values_as_hilbert ()
 
void calculate_node_curve_values_as_zcurve ()
 
void calculate_node_curve_values_as_obtained_from_elements ()
 
void calculate_element_curve_values_as_hilbert_of_centers ()
 
void calculate_element_curve_values_as_zcurve_of_center ()
 
std::vector< int > sort_nodes (std::vector< unsigned int > &node_permutation)
 
std::vector< int > sort_elements (std::vector< unsigned int > &elem_permutation)
 

Private Member Functions

double hilbert_value (double x, double y, double eps) const
 
double hilbert_value (double x, double y, double z, double eps) const
 
double zcurve_value (double x, double y, double eps) const
 
double zcurve_value (double x, double y, double z, double eps) const
 
double hilbert_value (arma::vec3 vec, double size) const
 
double zcurve_value (arma::vec3 vec, double size) const
 
std::vector< int > sort (std::vector< Permutee > &refs, std::vector< unsigned int > &mesh_perm)
 
template<>
double hilbert_value (arma::vec3 vec, double size) const
 
template<>
double zcurve_value (arma::vec3 vec, double size) const
 

Private Attributes

Meshmesh_
 
std::vector< Permuteenode_refs_
 
std::vector< Permuteeelement_refs_
 
std::vector< double > node_sizes_
 
std::vector< double > element_sizes_
 
Normalizer normalizer_
 

Detailed Description

template<uint DIM>
class MeshOptimizer< DIM >

Definition at line 35 of file mesh_optimizer.hh.

Constructor & Destructor Documentation

template<uint DIM>
MeshOptimizer< DIM >::MeshOptimizer ( Mesh mesh)
inline

Definition at line 38 of file mesh_optimizer.hh.

Member Function Documentation

template<uint DIM>
void MeshOptimizer< DIM >::calculate_element_curve_values_as_hilbert_of_centers ( )
inline

Definition at line 86 of file mesh_optimizer.hh.

Here is the caller graph for this function:

template<uint DIM>
void MeshOptimizer< DIM >::calculate_element_curve_values_as_zcurve_of_center ( )
inline

Definition at line 95 of file mesh_optimizer.hh.

template<uint DIM>
void MeshOptimizer< DIM >::calculate_node_curve_values_as_hilbert ( )
inline

Definition at line 59 of file mesh_optimizer.hh.

Here is the caller graph for this function:

template<uint DIM>
void MeshOptimizer< DIM >::calculate_node_curve_values_as_obtained_from_elements ( )
inline

Definition at line 76 of file mesh_optimizer.hh.

template<uint DIM>
void MeshOptimizer< DIM >::calculate_node_curve_values_as_zcurve ( )
inline

Definition at line 68 of file mesh_optimizer.hh.

template<uint DIM>
void MeshOptimizer< DIM >::calculate_sizes ( )
inline

Definition at line 40 of file mesh_optimizer.hh.

Here is the caller graph for this function:

template<uint DIM>
double MeshOptimizer< DIM >::hilbert_value ( double  x,
double  y,
double  eps 
) const
inlineprivate

Definition at line 120 of file mesh_optimizer.hh.

template<uint DIM>
double MeshOptimizer< DIM >::hilbert_value ( double  x,
double  y,
double  z,
double  eps 
) const
inlineprivate

Definition at line 140 of file mesh_optimizer.hh.

template<uint DIM>
double MeshOptimizer< DIM >::hilbert_value ( arma::vec3  vec,
double  size 
) const
inlineprivate

Definition at line 232 of file mesh_optimizer.hh.

template<>
double MeshOptimizer< 2 >::hilbert_value ( arma::vec3  vec,
double  size 
) const
inlineprivate

Definition at line 255 of file mesh_optimizer.hh.

template<uint DIM>
std::vector<int> MeshOptimizer< DIM >::sort ( std::vector< Permutee > &  refs,
std::vector< unsigned int > &  mesh_perm 
)
inlineprivate

Definition at line 240 of file mesh_optimizer.hh.

template<uint DIM>
std::vector<int> MeshOptimizer< DIM >::sort_elements ( std::vector< unsigned int > &  elem_permutation)
inline

Definition at line 108 of file mesh_optimizer.hh.

Here is the caller graph for this function:

template<uint DIM>
std::vector<int> MeshOptimizer< DIM >::sort_nodes ( std::vector< unsigned int > &  node_permutation)
inline

Definition at line 104 of file mesh_optimizer.hh.

Here is the caller graph for this function:

template<uint DIM>
double MeshOptimizer< DIM >::zcurve_value ( double  x,
double  y,
double  eps 
) const
inlineprivate

Definition at line 176 of file mesh_optimizer.hh.

template<uint DIM>
double MeshOptimizer< DIM >::zcurve_value ( double  x,
double  y,
double  z,
double  eps 
) const
inlineprivate

Definition at line 196 of file mesh_optimizer.hh.

template<uint DIM>
double MeshOptimizer< DIM >::zcurve_value ( arma::vec3  vec,
double  size 
) const
inlineprivate

Definition at line 236 of file mesh_optimizer.hh.

template<>
double MeshOptimizer< 2 >::zcurve_value ( arma::vec3  vec,
double  size 
) const
inlineprivate

Definition at line 260 of file mesh_optimizer.hh.

Member Data Documentation

template<uint DIM>
std::vector<Permutee> MeshOptimizer< DIM >::element_refs_
private

Definition at line 115 of file mesh_optimizer.hh.

template<uint DIM>
std::vector<double> MeshOptimizer< DIM >::element_sizes_
private

Definition at line 117 of file mesh_optimizer.hh.

template<uint DIM>
Mesh* MeshOptimizer< DIM >::mesh_
private

Definition at line 113 of file mesh_optimizer.hh.

template<uint DIM>
std::vector<Permutee> MeshOptimizer< DIM >::node_refs_
private

Definition at line 114 of file mesh_optimizer.hh.

template<uint DIM>
std::vector<double> MeshOptimizer< DIM >::node_sizes_
private

Definition at line 116 of file mesh_optimizer.hh.

template<uint DIM>
Normalizer MeshOptimizer< DIM >::normalizer_
private

Definition at line 118 of file mesh_optimizer.hh.


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