|
adamantine
|
Namespaces | |
| internal | |
Classes | |
| class | BeamHeatSourceProperties |
| struct | BodyForce |
| class | MaterialProperty |
| class | GravityForce |
| class | Boundary |
| class | CubeHeatSource |
| class | DataAssimilator |
| class | ElectronBeamHeatSource |
| struct | PointsValues |
| class | ExperimentalData |
| class | Geometry |
| class | GoldakHeatSource |
| class | HeatSource |
| struct | SolidLiquidPowder |
| struct | SolidLiquid |
| struct | Solid |
| class | MechanicalOperator |
| class | MechanicalPhysics |
| class | Microstructure |
| class | PointCloud |
| class | StrainPostProcessor |
| class | PostProcessor |
| class | RayNearestPredicate |
| struct | Ray |
| class | RayTracing |
| struct | ScanPathSegment |
| class | ScanPath |
| class | ThermalOperator |
| class | ThermalOperatorBase |
| class | ThermalOperatorDevice |
| class | ThermalPhysics |
| class | ThermalPhysicsInterface |
| class | Timer |
| struct | Constant |
| struct | axis |
| struct | axis< 2 > |
| struct | axis< 3 > |
| class | NotImplementedExc |
Functions | |
| BoundaryType | operator| (const BoundaryType b1, const BoundaryType b2) |
| BoundaryType & | operator|= (BoundaryType &b1, const BoundaryType b2) |
| BoundaryType | operator& (const BoundaryType b1, const BoundaryType b2) |
| BoundaryType & | operator&= (BoundaryType &b1, const BoundaryType b2) |
| template<int dim> | |
| std::vector< std::shared_ptr< HeatSource< dim > > > | get_bounding_heat_sources (std::vector< boost::property_tree::ptree > const &database_ensemble, MPI_Comm global_communicator) |
| void | traverse (boost::property_tree::ptree const &ensemble_ptree, std::vector< boost::property_tree::ptree > &database_ensemble, std::vector< std::string > &keys, unsigned int &n_rejected_draws, unsigned int local_ensemble_size, unsigned int global_ensemble_size, std::string const &path="") |
| std::vector< boost::property_tree::ptree > | create_database_ensemble (boost::property_tree::ptree const &database, MPI_Comm local_communicator, unsigned int first_local_member, unsigned int local_ensemble_size, unsigned int global_ensemble_size) |
| template<int dim> | |
| std::pair< std::vector< dealii::types::global_dof_index >, std::vector< dealii::Point< dim > > > | get_dof_to_support_mapping (dealii::DoFHandler< dim > const &dof_handler) |
| template<int dim> | |
| std::pair< std::vector< int >, std::vector< int > > | get_expt_to_dof_mapping (PointsValues< dim > const &points_values, dealii::DoFHandler< dim > const &dof_handler) |
| template<int dim> | |
| void | set_with_experimental_data (MPI_Comm const &communicator, PointsValues< dim > const &points_values, std::pair< std::vector< int >, std::vector< int >> &expt_to_dof_mapping, dealii::LinearAlgebra::distributed::Vector< double > &temperature, bool verbose_output) |
| std::vector< std::vector< double > > | read_frame_timestamps (boost::property_tree::ptree const &experiment_database) |
| template void | set_with_experimental_data (MPI_Comm const &communicator, PointsValues< 2 > const &points_values, std::pair< std::vector< int >, std::vector< int >> &expt_to_dof_mapping, dealii::LinearAlgebra::distributed::Vector< double > &temperature, bool verbose_output) |
| template void | set_with_experimental_data (MPI_Comm const &communicator, PointsValues< 3 > const &points_values, std::pair< std::vector< int >, std::vector< int >> &expt_to_dof_mapping, dealii::LinearAlgebra::distributed::Vector< double > &temperature, bool verbose_output) |
| template std::pair< std::vector< int >, std::vector< int > > | get_expt_to_dof_mapping (PointsValues< 2 > const &points_values, dealii::DoFHandler< 2 > const &dof_handler) |
| template std::pair< std::vector< int >, std::vector< int > > | get_expt_to_dof_mapping (PointsValues< 3 > const &points_values, dealii::DoFHandler< 3 > const &dof_handler) |
| template std::pair< std::vector< dealii::types::global_dof_index >, std::vector< dealii::Point< 2 > > > | get_dof_to_support_mapping (dealii::DoFHandler< 2 > const &dof_handler) |
| template std::pair< std::vector< dealii::types::global_dof_index >, std::vector< dealii::Point< 3 > > > | get_dof_to_support_mapping (dealii::DoFHandler< 3 > const &dof_handler) |
| template<int dim> | |
| std::vector< PointsValues< dim > > | read_experimental_data_point_cloud (MPI_Comm const &communicator, boost::property_tree::ptree const &experiment_database) |
| template<int dim> | |
| std::tuple< std::vector< dealii::BoundingBox< dim > >, std::vector< double >, std::vector< double >, std::vector< double > > | create_material_deposition_boxes (boost::property_tree::ptree const &geometry_database, std::vector< std::shared_ptr< HeatSource< dim >>> &heat_sources) |
| template<int dim> | |
| std::tuple< std::vector< dealii::BoundingBox< dim > >, std::vector< double >, std::vector< double >, std::vector< double > > | read_material_deposition (boost::property_tree::ptree const &geometry_database) |
| template<int dim> | |
| std::tuple< std::vector< dealii::BoundingBox< dim > >, std::vector< double >, std::vector< double >, std::vector< double > > | deposition_along_scan_path (boost::property_tree::ptree const &geometry_database, ScanPath const &scan_path) |
| template<int dim> | |
| std::tuple< std::vector< dealii::BoundingBox< dim > >, std::vector< double >, std::vector< double >, std::vector< double > > | merge_deposition_paths (std::vector< std::tuple< std::vector< dealii::BoundingBox< dim >>, std::vector< double >, std::vector< double >, std::vector< double >>> const &deposition_paths) |
| template<int dim> | |
| std::vector< std::vector< typename dealii::DoFHandler< dim >::active_cell_iterator > > | get_elements_to_activate (dealii::DoFHandler< dim > const &dof_handler, std::vector< dealii::BoundingBox< dim >> const &material_deposition_boxes) |
| template std::tuple< std::vector< dealii::BoundingBox< 2 > >, std::vector< double >, std::vector< double >, std::vector< double > > | create_material_deposition_boxes (boost::property_tree::ptree const &geometry_database, std::vector< std::shared_ptr< HeatSource< 2 >>> &heat_sources) |
| template std::tuple< std::vector< dealii::BoundingBox< 3 > >, std::vector< double >, std::vector< double >, std::vector< double > > | create_material_deposition_boxes (boost::property_tree::ptree const &geometry_database, std::vector< std::shared_ptr< HeatSource< 3 >>> &heat_sources) |
| template std::vector< std::vector< typename dealii::DoFHandler< 2 >::active_cell_iterator > > | get_elements_to_activate (dealii::DoFHandler< 2 > const &dof_handler, std::vector< dealii::BoundingBox< 2 >> const &material_deposition_boxes) |
| template std::vector< std::vector< typename dealii::DoFHandler< 3 >::active_cell_iterator > > | get_elements_to_activate (dealii::DoFHandler< 3 > const &dof_handler, std::vector< dealii::BoundingBox< 3 >> const &material_deposition_boxes) |
| template std::tuple< std::vector< dealii::BoundingBox< 2, double > >, std::vector< double >, std::vector< double >, std::vector< double > > | merge_deposition_paths (std::vector< std::tuple< std::vector< dealii::BoundingBox< 2, double >>, std::vector< double >, std::vector< double >, std::vector< double >>> const &deposition_paths) |
| template std::tuple< std::vector< dealii::BoundingBox< 3, double > >, std::vector< double >, std::vector< double >, std::vector< double > > | merge_deposition_paths (std::vector< std::tuple< std::vector< dealii::BoundingBox< 3, double >>, std::vector< double >, std::vector< double >, std::vector< double >>> const &deposition_paths) |
| void | wait_for_file (std::string const &filename, std::string const &message) |
| void | wait_for_file_to_update (std::string const &filename, std::string const &message, std::filesystem::file_time_type &last_write_time) |
| void | ASSERT_THROW (bool cond, std::string const &message) |
| void | ASSERT_THROW_NOT_IMPLEMENTED () |
| void | validate_input_database (boost::property_tree::ptree &database) |
Variables | |
| static std::unordered_map< std::string, double > | g_unit_scaling_factor |
| static unsigned constexpr int | g_n_state_properties |
| static unsigned constexpr int | g_n_mechanical_state_properties |
| static unsigned constexpr int | g_n_thermal_state_properties |
| static unsigned constexpr int | g_n_properties |
| static std::array< std::string, 3 > const | material_state_names |
| static std::array< std::string, 5 > const | property_names |
| static std::array< std::string, 15 > const | state_property_names |
|
strong |
| Enumerator | |
|---|---|
| beam_0_absorption | |
| beam_0_max_power | |
Definition at line 38 of file DataAssimilator.hh.
Enum on the different types of boundary condition supported. Some of them can be combined, for example radiative and convective.
| Enumerator | |
|---|---|
| invalid | |
| adiabatic | |
| radiative | |
| convective | |
| clamped | |
| traction_free | |
Definition at line 21 of file Boundary.hh.
|
strong |
Enum for different options for the functions that determine how the covariance is decreased with distance for localization. The 'gaspari_cohn' option corrseponds to a function defined in Gaspari and Cohn, Quarterly Journal of the Royal Meteorological Society, 125, 1999.
| Enumerator | |
|---|---|
| gaspari_cohn | |
| step_function | |
| none | |
Definition at line 31 of file DataAssimilator.hh.
|
strong |
|
strong |
This enum distinguishes between the two types of scan path segments.
| Enumerator | |
|---|---|
| line | |
| point | |
Definition at line 23 of file ScanPath.hh.
|
strong |
Enum on the possible material properties that depend on the state of the material.
| enum adamantine::Timing |
|
inline |
| std::vector< boost::property_tree::ptree > adamantine::create_database_ensemble | ( | boost::property_tree::ptree const & | database, |
| MPI_Comm | local_communicator, | ||
| unsigned int | first_local_member, | ||
| unsigned int | local_ensemble_size, | ||
| unsigned int | global_ensemble_size | ||
| ) |
Given an input property tree database, return local_ensemble_size databases each one modified to respect the standard deviation of each quantity (if provided).
Definition at line 213 of file ensemble_management.cc.
| template std::tuple<std::vector<dealii::BoundingBox<2> >, std::vector<double>, std::vector<double>, std::vector<double> > adamantine::create_material_deposition_boxes | ( | boost::property_tree::ptree const & | geometry_database, |
| std::vector< std::shared_ptr< HeatSource< 2 >>> & | heat_sources | ||
| ) |
| template std::tuple<std::vector<dealii::BoundingBox<3> >, std::vector<double>, std::vector<double>, std::vector<double> > adamantine::create_material_deposition_boxes | ( | boost::property_tree::ptree const & | geometry_database, |
| std::vector< std::shared_ptr< HeatSource< 3 >>> & | heat_sources | ||
| ) |
| std::tuple< std::vector< dealii::BoundingBox< dim > >, std::vector< double >, std::vector< double >, std::vector< double > > adamantine::create_material_deposition_boxes | ( | boost::property_tree::ptree const & | geometry_database, |
| std::vector< std::shared_ptr< HeatSource< dim >>> & | heat_sources | ||
| ) |
Return the bounding boxes, the deposition times, the cosine of the deposition angles, and the sine of the deposition angles.
Definition at line 22 of file material_deposition.cc.
| std::tuple< std::vector< dealii::BoundingBox< dim > >, std::vector< double >, std::vector< double >, std::vector< double > > adamantine::deposition_along_scan_path | ( | boost::property_tree::ptree const & | geometry_database, |
| ScanPath const & | scan_path | ||
| ) |
Return the bounding boxes, the deposition times, the cosine of the deposition angles, and the sine of deposition angles based on the scan path.
Definition at line 132 of file material_deposition.cc.
| std::vector< std::shared_ptr< HeatSource< dim > > > adamantine::get_bounding_heat_sources | ( | std::vector< boost::property_tree::ptree > const & | property_trees, |
| MPI_Comm | global_communicator | ||
| ) |
Return the sources encompassing all the sources of the different ensemble members.
Definition at line 56 of file ensemble_management.cc.
| template std::pair<std::vector<dealii::types::global_dof_index>, std::vector<dealii::Point<2> > > adamantine::get_dof_to_support_mapping | ( | dealii::DoFHandler< 2 > const & | dof_handler | ) |
| template std::pair<std::vector<dealii::types::global_dof_index>, std::vector<dealii::Point<3> > > adamantine::get_dof_to_support_mapping | ( | dealii::DoFHandler< 3 > const & | dof_handler | ) |
| std::pair< std::vector< dealii::types::global_dof_index >, std::vector< dealii::Point< dim > > > adamantine::get_dof_to_support_mapping | ( | dealii::DoFHandler< dim > const & | dof_handler | ) |
Get the pair of vectors that map the DOF indices to the support points.
Definition at line 24 of file experimental_data_utils.cc.
| template std::vector< std::vector<typename dealii::DoFHandler<2>::active_cell_iterator> > adamantine::get_elements_to_activate | ( | dealii::DoFHandler< 2 > const & | dof_handler, |
| std::vector< dealii::BoundingBox< 2 >> const & | material_deposition_boxes | ||
| ) |
| template std::vector< std::vector<typename dealii::DoFHandler<3>::active_cell_iterator> > adamantine::get_elements_to_activate | ( | dealii::DoFHandler< 3 > const & | dof_handler, |
| std::vector< dealii::BoundingBox< 3 >> const & | material_deposition_boxes | ||
| ) |
| std::vector< std::vector< typename dealii::DoFHandler< dim >::active_cell_iterator > > adamantine::get_elements_to_activate | ( | dealii::DoFHandler< dim > const & | dof_handler, |
| std::vector< dealii::BoundingBox< dim >> const & | material_deposition_boxes | ||
| ) |
Return a vector of cells to activate for each time deposition.
Definition at line 314 of file material_deposition.cc.
| template std::pair<std::vector<int>, std::vector<int> > adamantine::get_expt_to_dof_mapping | ( | PointsValues< 2 > const & | points_values, |
| dealii::DoFHandler< 2 > const & | dof_handler | ||
| ) |
| template std::pair<std::vector<int>, std::vector<int> > adamantine::get_expt_to_dof_mapping | ( | PointsValues< 3 > const & | points_values, |
| dealii::DoFHandler< 3 > const & | dof_handler | ||
| ) |
| std::pair< std::vector< int >, std::vector< int > > adamantine::get_expt_to_dof_mapping | ( | PointsValues< dim > const & | points_values, |
| dealii::DoFHandler< dim > const & | dof_handler | ||
| ) |
Get the pair of vectors that map the experimental observation indices to the dof indices.
Definition at line 70 of file experimental_data_utils.cc.
| template std::tuple<std::vector<dealii::BoundingBox<2, double> >, std::vector<double>, std::vector<double>, std::vector<double> > adamantine::merge_deposition_paths | ( | std::vector< std::tuple< std::vector< dealii::BoundingBox< 2, double >>, std::vector< double >, std::vector< double >, std::vector< double >>> const & | deposition_paths | ) |
| template std::tuple<std::vector<dealii::BoundingBox<3, double> >, std::vector<double>, std::vector<double>, std::vector<double> > adamantine::merge_deposition_paths | ( | std::vector< std::tuple< std::vector< dealii::BoundingBox< 3, double >>, std::vector< double >, std::vector< double >, std::vector< double >>> const & | deposition_paths | ) |
| std::tuple< std::vector< dealii::BoundingBox< dim > >, std::vector< double >, std::vector< double >, std::vector< double > > adamantine::merge_deposition_paths | ( | std::vector< std::tuple< std::vector< dealii::BoundingBox< dim >>, std::vector< double >, std::vector< double >, std::vector< double >>> const & | bounding_box_lists | ) |
Merge a vector of tuple of bounding boxes, deposition times, cosine of deposition angles, and sine of deposition angles into a single tuple of vectors, sorted by deposition time.
Definition at line 267 of file material_deposition.cc.
|
inline |
Global operator which returns an object in which all bits are set which are set in the first as well as the second argument. This operator exists since if it did not then the result of the bit-and operator & would be an integer which would in turn trigger a compiler warning when we tried to assign it to an object of type BoundaryType.
Definition at line 61 of file Boundary.hh.
|
inline |
Global operator which clears all the bits in the first argument if they are not also set in the second argument.
Definition at line 71 of file Boundary.hh.
|
inline |
Global operator which returns an object in which all bits are set which are either set in the first or the second argument. This operator exists since if it did not then the result of the bit-or operator | would be an integer which would in turn trigger a compiler warning when we tried to assign it to an object of type BoundaryType.
Definition at line 38 of file Boundary.hh.
|
inline |
Global operator which sets the bits from the second argument also in the first one.
Definition at line 48 of file Boundary.hh.
| std::vector<PointsValues<dim> > adamantine::read_experimental_data_point_cloud | ( | MPI_Comm const & | communicator, |
| boost::property_tree::ptree const & | experiment_database | ||
| ) |
Read the experimental data (IR point cloud) and return a vector of PointsValues. The size of the vector is equal to the number of frames.
| std::vector< std::vector< double > > adamantine::read_frame_timestamps | ( | boost::property_tree::ptree const & | experiment_database | ) |
Parse the log file that maps experimental frames to their times. The log file has a headerless CSV format with the frame index (int) as the first entry per line followed by the timestamp for each camera. For now we assume that the first frame for each camera is synced so that we can re-reference the times to a fixed offset from the first frame time. The function returns a vector containing the frame timings for each camera, i.e. the first index is the camera index and the second is the frame index. The frame indices in the output are such that the 'first frame' listed in the input file is index 0.
Definition at line 137 of file experimental_data_utils.cc.
| std::tuple< std::vector< dealii::BoundingBox< dim > >, std::vector< double >, std::vector< double >, std::vector< double > > adamantine::read_material_deposition | ( | boost::property_tree::ptree const & | geometry_database | ) |
Read the material deposition file and return the bounding boxes, the deposition times, the cosine of the deposition angles, and the sine of the deposition angles.
Definition at line 59 of file material_deposition.cc.
| template void adamantine::set_with_experimental_data | ( | MPI_Comm const & | communicator, |
| PointsValues< 2 > const & | points_values, | ||
| std::pair< std::vector< int >, std::vector< int >> & | expt_to_dof_mapping, | ||
| dealii::LinearAlgebra::distributed::Vector< double > & | temperature, | ||
| bool | verbose_output | ||
| ) |
| template void adamantine::set_with_experimental_data | ( | MPI_Comm const & | communicator, |
| PointsValues< 3 > const & | points_values, | ||
| std::pair< std::vector< int >, std::vector< int >> & | expt_to_dof_mapping, | ||
| dealii::LinearAlgebra::distributed::Vector< double > & | temperature, | ||
| bool | verbose_output | ||
| ) |
| void adamantine::set_with_experimental_data | ( | MPI_Comm const & | communicator, |
| PointsValues< dim > const & | points_values, | ||
| std::pair< std::vector< int >, std::vector< int >> & | expt_to_dof_mapping, | ||
| dealii::LinearAlgebra::distributed::Vector< double > & | temperature, | ||
| bool | verbose_output | ||
| ) |
Fill the temperature Vector given points_values.
Definition at line 109 of file experimental_data_utils.cc.
| void adamantine::traverse | ( | boost::property_tree::ptree const & | ensemble_ptree, |
| std::vector< boost::property_tree::ptree > & | database_ensemble, | ||
| std::vector< std::string > & | keys, | ||
| unsigned int & | n_rejected_draws, | ||
| unsigned int | local_ensemble_size, | ||
| unsigned int | global_ensemble_size, | ||
| std::string const & | path = "" |
||
| ) |
Definition at line 166 of file ensemble_management.cc.
| void adamantine::validate_input_database | ( | boost::property_tree::ptree & | database | ) |
Definition at line 16 of file validate_input_database.cc.
|
inline |
|
inline |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
Number of thermal StateProperty.
|
static |
|
static |
|
static |
|
static |
Array containing the possible material properties that depend on the state of the material.