|
IBAMR
IBAMR version 0.19.
|
Class IBFEInstrumentPanel provides support for meters to measure flow and pressure.
#include <ibamr/IBFEInstrumentPanel.h>
Public Member Functions | |
| IBFEInstrumentPanel (SAMRAI::tbox::Pointer< SAMRAI::tbox::Database > input_db, int part) | |
| Constructor. More... | |
| ~IBFEInstrumentPanel ()=default | |
| Default destructor. More... | |
| void | initializeHierarchyIndependentData (IBAMR::IBFEMethod *ib_method_ops) |
| Initialize hierarchy-independent data. More... | |
| void | readInstrumentData (int U_data_idx, int P_data_idx, SAMRAI::tbox::Pointer< SAMRAI::hier::PatchHierarchy< NDIM > > hierarchy, IBAMR::IBFEMethod *ib_method_ops, double data_time) |
| Compute the flow rates and pressures in the various distributed internal flow meters and pressure gauges. More... | |
| int | getInstrumentDumpInterval () const |
| std::string | getPlotDirectoryName () const |
| int | getNumberOfMeterMeshes () const |
| libMesh::MeshBase & | getMeterMesh (unsigned int meter_idx) const |
| libMesh::EquationSystems & | getMeterMeshEquationSystems (unsigned int meter_idx) const |
| const std::string & | getMeterMeshName (unsigned int meter_idx) const |
| libMesh::QuadratureType | getMeterMeshQuadType (unsigned int meter_idx) const |
| libMesh::Order | getMeterMeshQuadOrder (unsigned int meter_idx) const |
| const std::vector< double > & | getMeterFlowRates () const |
| const std::vector< double > & | getMeterMeanPressures () const |
| const std::vector< double > & | getMeterCentroidPressures () const |
Private Member Functions | |
| IBFEInstrumentPanel ()=delete | |
| Default constructor. More... | |
| IBFEInstrumentPanel (const IBFEInstrumentPanel &from)=delete | |
| Copy constructor. More... | |
| IBFEInstrumentPanel & | operator= (const IBFEInstrumentPanel &that)=delete |
| Assignment operator. More... | |
| void | getFromInput (SAMRAI::tbox::Pointer< SAMRAI::tbox::Database > db) |
| Get data from input file. More... | |
| void | resetMeterConfiguration (IBAMR::IBFEMethod *ib_method_ops, int meter_mesh_number) |
| Initialize data that depend on the FE equation systems for the meter mesh. this includes computing the max radius of the mesh in the current configuration, and updating the mesh's system data. More... | |
| void | computeMeterQuadratureData (std::vector< std::map< int, std::vector< int > > > &meter_idx_map, std::vector< std::map< int, std::vector< IBTK::Vector > > > &meter_x_map, std::vector< std::map< int, std::vector< IBTK::Vector > > > &meter_u_corr_map, std::vector< std::map< int, std::vector< IBTK::Vector > > > &meter_normal_map, std::vector< std::map< int, std::vector< double > > > &meter_JxW_map, SAMRAI::tbox::Pointer< SAMRAI::hier::PatchHierarchy< NDIM > > hierarchy, const IBFEMethod *ib_method_ops) |
| Initialize mappings from Cartesian grid patches to meter quadrature points. More... | |
| void | outputData (double data_time) |
| Write out data to file. More... | |
| double | getMeterRadius (int meter_idx) |
| Get the maximum radius of the meter in its current configuration. More... | |
Private Attributes | |
| unsigned int | d_num_meters = 0 |
| The number of meters. More... | |
| libMesh::QuadratureType | d_quad_type = libMesh::QGRID |
| Quadrature rule for computing surface integrals. More... | |
| libMesh::Order | d_default_quad_order = libMesh::FIFTH |
| Default quadrature order for computing surface integrals. More... | |
| bool | d_use_adaptive_quadrature = true |
| Flag tracking whether to use an adaptive quadrature order rule. More... | |
| std::string | d_u_interp_fcn = "PIECEWISE_LINEAR" |
| Interpolation type for velocity data. More... | |
| std::string | d_p_interp_fcn = "PIECEWISE_LINEAR" |
| Interpolation type for pressure data. More... | |
| unsigned int | d_part |
| part ID where the meter mesh lives, i.e., its parent mesh. More... | |
| bool | d_initialized = false |
| Flag tracking if meter meshes and other data are built and initialized. More... | |
| std::vector< libMesh::Order > | d_quad_order |
| Actual quadrature order used for each meter mesh. More... | |
| std::vector< unsigned int > | d_num_perim_nodes |
| The number of nodes in the perimeter of the meter mesh. More... | |
| std::vector< std::vector< std::array< libMesh::dof_id_type, NDIM > > > | d_x_dof_idx |
| Position and velocity DOF indices that link the meter mesh to the parent mesh data structures. More... | |
| std::vector< std::vector< std::array< libMesh::dof_id_type, NDIM > > > | d_u_dof_idx |
| std::vector< std::unique_ptr< libMesh::SerialMesh > > | d_meter_meshes |
| The meter meshes. More... | |
| std::vector< std::unique_ptr< libMesh::EquationSystems > > | d_meter_systems |
| Equation systems for the meter meshes. More... | |
| std::vector< std::string > | d_meter_mesh_names |
| Names for each meter mesh. More... | |
| SAMRAI::tbox::Array< int > | d_perimeter_nodeset_ids |
| Nodeset IDs on the structure mesh that specify the mesh nodes that form the perimeter of each meter mesh. More... | |
| std::vector< double > | d_meter_radii |
| Meter radius data. More... | |
| std::vector< double > | d_flow_rate_values |
| Flow rate data for each meter. More... | |
| std::vector< double > | d_mean_pressure_values |
| Mean pressure data for each meter. More... | |
| std::vector< double > | d_centroid_pressure_values |
| Centroid pressure data for each meter. More... | |
| int | d_instrument_dump_interval |
| I/O settings. More... | |
| std::string | d_plot_directory_name |
| std::ofstream | d_flux_stream |
| std::ofstream | d_mean_pressure_stream |
| std::ofstream | d_centroid_pressure_stream |
| IBAMR::IBFEInstrumentPanel::IBFEInstrumentPanel | ( | SAMRAI::tbox::Pointer< SAMRAI::tbox::Database > | input_db, |
| int | part | ||
| ) |
|
default |
|
privatedelete |
|
privatedelete |
| from | The value to copy to this object. |
| void IBAMR::IBFEInstrumentPanel::initializeHierarchyIndependentData | ( | IBAMR::IBFEMethod * | ib_method_ops | ) |
The data initialized by this method are assumed not to change during the course of a simulation.
| void IBAMR::IBFEInstrumentPanel::readInstrumentData | ( | int | U_data_idx, |
| int | P_data_idx, | ||
| SAMRAI::tbox::Pointer< SAMRAI::hier::PatchHierarchy< NDIM > > | hierarchy, | ||
| IBAMR::IBFEMethod * | ib_method_ops, | ||
| double | data_time | ||
| ) |
| int IBAMR::IBFEInstrumentPanel::getInstrumentDumpInterval | ( | ) | const |
| std::string IBAMR::IBFEInstrumentPanel::getPlotDirectoryName | ( | ) | const |
| int IBAMR::IBFEInstrumentPanel::getNumberOfMeterMeshes | ( | ) | const |
| libMesh::MeshBase& IBAMR::IBFEInstrumentPanel::getMeterMesh | ( | unsigned int | meter_idx | ) | const |
| libMesh::EquationSystems& IBAMR::IBFEInstrumentPanel::getMeterMeshEquationSystems | ( | unsigned int | meter_idx | ) | const |
| const std::string& IBAMR::IBFEInstrumentPanel::getMeterMeshName | ( | unsigned int | meter_idx | ) | const |
| libMesh::QuadratureType IBAMR::IBFEInstrumentPanel::getMeterMeshQuadType | ( | unsigned int | meter_idx | ) | const |
| libMesh::Order IBAMR::IBFEInstrumentPanel::getMeterMeshQuadOrder | ( | unsigned int | meter_idx | ) | const |
| const std::vector<double>& IBAMR::IBFEInstrumentPanel::getMeterFlowRates | ( | ) | const |
| const std::vector<double>& IBAMR::IBFEInstrumentPanel::getMeterMeanPressures | ( | ) | const |
| const std::vector<double>& IBAMR::IBFEInstrumentPanel::getMeterCentroidPressures | ( | ) | const |
|
privatedelete |
| that | The value to assign to this object. |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
1.8.17