[P]arallel [Hi]gh-order [Li]brary for [P]DEs  Latest
Parallel High-Order Library for PDEs through hp-adaptive Discontinuous Galerkin methods
PHiLiP::MetricToMeshGenerator< dim, nstate, real, MeshType > Class Template Reference

Class to convert metric field to mesh using BAMG. More...

#include <metric_to_mesh_generator.h>

Collaboration diagram for PHiLiP::MetricToMeshGenerator< dim, nstate, real, MeshType >:

Public Member Functions

 MetricToMeshGenerator (std::shared_ptr< dealii::MappingFEField< dim, dim, VectorType, DoFHandlerType >> _volume_nodes_mapping, std::shared_ptr< MeshType > _triangulation)
 Constructor.
 
 ~MetricToMeshGenerator ()=default
 Destructor.
 
void generate_mesh_from_cellwise_metric (const std::vector< dealii::Tensor< 2, dim, real >> &cellwise_optimal_metric)
 Generates mesh from the input cellwise metric.
 
std::string get_generated_mesh_filename () const
 Returns name of the .msh file.
 

Private Types

using VectorType = dealii::LinearAlgebra::distributed::Vector< double >
 Alias for dealii's parallel distributed vector.
 
using DoFHandlerType = dealii::DoFHandler< dim >
 Alias for declaring DofHandler.
 

Private Member Functions

void reinit ()
 Reinitialize dof handler vertices after updating triangulation.
 
void interpolate_metric_to_vertices (const std::vector< dealii::Tensor< 2, dim, real >> &cellwise_optimal_metric)
 Interpolates cellwise metric field to vertices.
 
void write_geo_file () const
 Writes .geo file.
 
void write_pos_file () const
 Writes .pos file.
 

Private Attributes

std::shared_ptr< dealii::MappingFEField< dim, dim, VectorType, DoFHandlerType > > volume_nodes_mapping
 Mapping field to update physical quadrature points, jacobians etc with the movement of volume nodes.
 
std::shared_ptr< MeshType > triangulation
 Stores triangulation currently in use.
 
dealii::DoFHandler< dim > dof_handler_vertices
 DoFHandler to get global index of vertices.
 
const dealii::FE_Q< dim > fe_q
 Continuous FE of degree 1.
 
const dealii::FESystem< dim > fe_system
 FESystem for vertices, created with nstate = 1 to relate an entire vertex of size dim by a single dof.
 
std::array< VectorType, dim *dim > optimal_metric_at_vertices
 Stores optimal metric at vertices. Accessed by optimal_metric_at_vertices[position_in_metric_tensor][global_vertex_dof].
 
std::vector< dealii::Point< dim > > all_vertices
 Stores all vertices.
 
MPI_Comm mpi_communicator
 Alias for MPI_COMM_WORLD.
 
dealii::ConditionalOStream pcout
 std::cout only on processor #0.
 
int mpi_rank
 Processor# of current processor.
 
int n_mpi
 Total no. of processors.
 
const std::string filename
 Name of the file.
 
const std::string filename_pos
 .pos file.
 
const std::string filename_geo
 .geo file
 
const std::string filename_msh
 .geo file
 
dealii::IndexSet locally_owned_vertex_dofs
 Dofs owned by current processor.
 
dealii::IndexSet ghost_vertex_dofs
 Dofs not owned by current processor (but it can still access them).
 
dealii::IndexSet locally_relevant_vertex_dofs
 Union of locally owned degrees of freedom and ghost degrees of freedom.
 

Detailed Description

template<int dim, int nstate, typename real, typename MeshType = dealii::parallel::distributed::Triangulation<dim>>
class PHiLiP::MetricToMeshGenerator< dim, nstate, real, MeshType >

Class to convert metric field to mesh using BAMG.

Definition at line 25 of file metric_to_mesh_generator.h.


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