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

Internal data handler class for .msh file data fields. More...

#include <msh_out.h>

Inheritance diagram for PHiLiP::GridRefinement::MshOutDataInternal< dim, T >:
Collaboration diagram for PHiLiP::GridRefinement::MshOutDataInternal< dim, T >:

Public Member Functions

 MshOutDataInternal (std::vector< T > data, StorageType storage_type, const dealii::DoFHandler< dim > &dof_handler)
 Construct data field. More...
 
 MshOutDataInternal (std::vector< T > data, StorageType storage_type, std::string name, const dealii::DoFHandler< dim > &dof_handler)
 Construct data field with name. More...
 
- Public Member Functions inherited from PHiLiP::GridRefinement::MshOutData< dim >
virtual ~MshOutData ()=default
 Destructor.
 
 MshOutData (StorageType storage_type)
 Delegated constructor. More...
 
void write_msh_data (const dealii::DoFHandler< dim > &dof_handler, std::ostream &out)
 Perform writing of .msh file data section. More...
 

Protected Member Functions

void write_msh_data_internal (const dealii::DoFHandler< dim > &dof_handler, std::ostream &out) override
 Perform write of internal data field body at storage location. More...
 
template<>
void write_msh_data_internal (const dealii::DoFHandler< PHILIP_DIM > &dof_handler, std::ostream &out)
 
template<>
void write_msh_data_internal (const dealii::DoFHandler< PHILIP_DIM > &dof_handler, std::ostream &out)
 
template<>
void write_msh_data_internal (const dealii::DoFHandler< PHILIP_DIM > &dof_handler, std::ostream &out)
 
- Protected Member Functions inherited from PHiLiP::GridRefinement::MshOutData< dim >
unsigned int num_entries (const dealii::DoFHandler< dim > &dof_handler)
 Gets the number of data entries associated with the mesh. More...
 
void set_string_tags (std::string name, std::string interpolation_scheme)
 Sets the string tags for the data field. More...
 
void set_string_tags (std::string name)
 Sets the string name tag for the data field. More...
 
void set_real_tags (double time)
 Sets real tag to the data field. More...
 
void set_integer_tags (unsigned int time_step, unsigned int num_components, unsigned int num_entries)
 Sets the required integer tags for the data field. More...
 

Private Member Functions

template<>
unsigned int const num_components
 
template<>
unsigned int const num_components
 
template<>
unsigned int const num_components
 

Private Attributes

const std::vector< T > data
 Internal data storage vector. More...
 

Static Private Attributes

static const unsigned int num_components
 The number of components per data point. More...
 

Additional Inherited Members

- Protected Attributes inherited from PHiLiP::GridRefinement::MshOutData< dim >
StorageType storage_type
 Storage location of the .msh data field entries.
 
std::vector< std::string > string_tags
 String tags for the data field. More...
 
std::vector< double > real_tags
 Real tags for the data field. More...
 
std::vector< int > integer_tags
 Integer tags for the data field. More...
 

Detailed Description

template<int dim, typename T>
class PHiLiP::GridRefinement::MshOutDataInternal< dim, T >

Internal data handler class for .msh file data fields.

This clas is additionally templated on the data type format used to store the internal values. Functionality is indirectly templated on the DataType enum to output each variety of nodewise, elementwise or hybrid data.

Definition at line 136 of file msh_out.h.

Constructor & Destructor Documentation

◆ MshOutDataInternal() [1/2]

template<int dim, typename T >
PHiLiP::GridRefinement::MshOutDataInternal< dim, T >::MshOutDataInternal ( std::vector< T >  data,
StorageType  storage_type,
const dealii::DoFHandler< dim > &  dof_handler 
)
inline

Construct data field.

Based on vector of data type, storage location for the specified data and a mesh description (dealii::DoFHandler) to represent the internal data field structure.

Definition at line 144 of file msh_out.h.

◆ MshOutDataInternal() [2/2]

template<int dim, typename T >
PHiLiP::GridRefinement::MshOutDataInternal< dim, T >::MshOutDataInternal ( std::vector< T >  data,
StorageType  storage_type,
std::string  name,
const dealii::DoFHandler< dim > &  dof_handler 
)
inline

Construct data field with name.

Based on vector of data type, storage location for the specified data and a mesh description (dealii::DoFHandler) to represent the internal data field structure. Additionally includes name tag to differentiate between fields.

Definition at line 160 of file msh_out.h.

Member Function Documentation

◆ write_msh_data_internal()

template<int dim, typename T >
void PHiLiP::GridRefinement::MshOutDataInternal< dim, T >::write_msh_data_internal ( const dealii::DoFHandler< dim > &  dof_handler,
std::ostream &  out 
)
overrideprotectedvirtual

Perform write of internal data field body at storage location.

Function to be overwritten by the internal data structure type. Format must be consistent with the num_entries and num_components setup through the integer_tags field.

Implements PHiLiP::GridRefinement::MshOutData< dim >.

Member Data Documentation

◆ data

template<int dim, typename T >
const std::vector<T> PHiLiP::GridRefinement::MshOutDataInternal< dim, T >::data
private

Internal data storage vector.

Special handling based on type in the msh_out.cpp file has been setup for Scalar (double), Vector (dealii::Tensor<1,dim,double>) and Matrix (dealii::Tensor<2,dim,double>) cases. Used to write entries in consistent manner in the 3 dimensional augmented space (with zeroes added as needed).

Definition at line 189 of file msh_out.h.

◆ num_components

template<int dim, typename T >
const unsigned int PHiLiP::GridRefinement::MshOutDataInternal< dim, T >::num_components
staticprivate

The number of components per data point.

Based on data type. Regardless of mesh dimension these values are always stored in 3D space, therefore, 1 for scalar, 3 for vector, 9 for matrix.

Definition at line 195 of file msh_out.h.


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