ASPECT
Classes | Namespaces | Functions
utilities.h File Reference
Include dependency graph for utilities.h:

Go to the source code of this file.

Classes

class  aspect::SimulatorAccess< dim >
 
class  aspect::GeometryModel::Interface< dim >
 
struct  aspect::Utilities::MapParsing::Options
 
struct  aspect::Utilities::ThousandSep
 
class  aspect::Utilities::tk::spline
 
class  aspect::Utilities::Operator
 
class  aspect::Utilities::NaturalCoordinate< dim >
 
class  aspect::Utilities::VectorFunctionFromVelocityFunctionObject< dim >
 

Namespaces

 aspect
 
 aspect::GeometryModel
 
 aspect::Utilities
 
 aspect::Utilities::MapParsing
 
 aspect::Utilities::Coordinates
 
 aspect::Utilities::tk
 

Functions

template<typename T >
std::vector< T > aspect::Utilities::possibly_extend_from_1_to_N (const std::vector< T > &values, const unsigned int N, const std::string &id_text)
 
std::vector< double > aspect::Utilities::MapParsing::parse_map_to_double_array (const std::string &input_string, Options &options)
 
std::vector< double > aspect::Utilities::parse_map_to_double_array (const std::string &key_value_map, const std::vector< std::string > &list_of_keys, const bool expects_background_field, const std::string &property_name, const bool allow_multiple_values_per_key=false, const std::unique_ptr< std::vector< unsigned int >> &n_values_per_key=nullptr, const bool allow_missing_keys=false)
 
template<typename T >
Table< 2, T > aspect::Utilities::parse_input_table (const std::string &input_string, const unsigned int n_rows, const unsigned int n_columns, const std::string &property_name)
 
template<int dim>
std::vector< std::string > aspect::Utilities::expand_dimensional_variable_names (const std::vector< std::string > &var_declarations)
 
template<int dim>
IndexSet aspect::Utilities::extract_locally_active_dofs_with_component (const DoFHandler< dim > &dof_handler, const ComponentMask &component_mask)
 
template<int dim>
std::vector< Point< dim > > aspect::Utilities::get_unit_support_points (const SimulatorAccess< dim > &simulator_access)
 
template<int dim>
bool aspect::Utilities::point_is_in_triangulation (const Mapping< dim > &mapping, const parallel::distributed::Triangulation< dim > &triangulation, const Point< dim > &point, const MPI_Comm mpi_communicator)
 
template<int dim>
std::array< double, dim > aspect::Utilities::Coordinates::WGS84_coordinates (const ::Point< dim > &position)
 
template<int dim>
std::array< double, dim > aspect::Utilities::Coordinates::cartesian_to_spherical_coordinates (const ::Point< dim > &position)
 
template<int dim>
::Point< dim > aspect::Utilities::Coordinates::spherical_to_cartesian_coordinates (const std::array< double, dim > &scoord)
 
template<int dim>
Tensor< 1, dim > aspect::Utilities::Coordinates::spherical_to_cartesian_vector (const Tensor< 1, dim > &spherical_vector, const ::Point< dim > &position)
 
template<int dim>
std::array< double, 3 > aspect::Utilities::Coordinates::cartesian_to_ellipsoidal_coordinates (const ::Point< 3 > &position, const double semi_major_axis_a, const double eccentricity)
 
template<int dim>
::Point< 3 > aspect::Utilities::Coordinates::ellipsoidal_to_cartesian_coordinates (const std::array< double, 3 > &phi_theta_d, const double semi_major_axis_a, const double eccentricity)
 
CoordinateSystem aspect::Utilities::Coordinates::string_to_coordinate_system (const std::string &)
 
template<int dim>
bool aspect::Utilities::polygon_contains_point (const std::vector< Point< 2 >> &point_list, const ::Point< 2 > &point)
 
template<int dim>
double aspect::Utilities::signed_distance_to_polygon (const std::vector< Point< 2 >> &point_list, const ::Point< 2 > &point)
 
double aspect::Utilities::distance_to_line (const std::array<::Point< 2 >, 2 > &point_list, const ::Point< 2 > &point)
 
template<int dim>
std::array< Tensor< 1, dim >, dim-1 > aspect::Utilities::orthogonal_vectors (const Tensor< 1, dim > &v)
 
Tensor< 2, 3 > aspect::Utilities::rotation_matrix_from_axis (const Tensor< 1, 3 > &rotation_axis, const double rotation_angle)
 
Tensor< 2, 3 > aspect::Utilities::compute_rotation_matrix_for_slice (const Tensor< 1, 3 > &point_one, const Tensor< 1, 3 > &point_two)
 
std::pair< double, double > aspect::Utilities::real_spherical_harmonic (unsigned int l, unsigned int m, double theta, double phi)
 
bool aspect::Utilities::fexists (const std::string &filename)
 
bool aspect::Utilities::fexists (const std::string &filename, const MPI_Comm comm)
 
bool aspect::Utilities::filename_is_url (const std::string &filename)
 
std::string aspect::Utilities::read_and_distribute_file_content (const std::string &filename, const MPI_Comm comm)
 
void aspect::Utilities::collect_and_write_file_content (const std::string &filename, const std::string &file_content, const MPI_Comm comm)
 
int aspect::Utilities::mkdirp (std::string pathname, const mode_t mode=0755)
 
void aspect::Utilities::create_directory (const std::string &pathname, const MPI_Comm comm, bool silent)
 
void aspect::Utilities::extract_composition_values_at_q_point (const std::vector< std::vector< double >> &composition_values, const unsigned int q, std::vector< double > &composition_values_at_q_point)
 
std::string aspect::Utilities::expand_ASPECT_SOURCE_DIR (const std::string &location)
 
std::string aspect::Utilities::parenthesize_if_nonempty (const std::string &s)
 
bool aspect::Utilities::has_unique_entries (const std::vector< std::string > &strings)
 
double aspect::Utilities::weighted_p_norm_average (const std::vector< double > &weights, const std::vector< double > &values, const double p)
 
template<typename T >
aspect::Utilities::derivative_of_weighted_p_norm_average (const double averaged_parameter, const std::vector< double > &weights, const std::vector< double > &values, const std::vector< T > &derivatives, const double p)
 
template<int dim>
double aspect::Utilities::compute_spd_factor (const double eta, const SymmetricTensor< 2, dim > &strain_rate, const SymmetricTensor< 2, dim > &dviscosities_dstrain_rate, const double SPD_safety_factor)
 
template<int dim>
Point< dim > aspect::Utilities::convert_array_to_point (const std::array< double, dim > &array)
 
template<int dim>
std::array< double, dim > aspect::Utilities::convert_point_to_array (const Point< dim > &point)
 
std::vector< Operator > aspect::Utilities::create_model_operator_list (const std::vector< std::string > &operator_names)
 
const std::string aspect::Utilities::get_model_operator_options ()
 
template<int dim>
SymmetricTensor< 2, dim > aspect::Utilities::nth_basis_for_symmetric_tensors (const unsigned int k)
 
template<int dim, typename VectorType >
void aspect::Utilities::project_cellwise (const Mapping< dim > &mapping, const DoFHandler< dim > &dof_handler, const unsigned int component_index, const Quadrature< dim > &quadrature, const std::function< void(const typename DoFHandler< dim >::active_cell_iterator &, const std::vector< Point< dim >> &, std::vector< double > &)> &function, VectorType &vec_result)
 
void aspect::Utilities::throw_linear_solver_failure_exception (const std::string &solver_name, const std::string &function_name, const std::vector< SolverControl > &solver_controls, const std::exception &exc, const MPI_Comm mpi_communicator, const std::string &output_filename="")
 
template<typename T >
std::vector< std::size_t > aspect::Utilities::compute_sorting_permutation (const std::vector< T > &vector)
 
template<typename T >
std::vector< T > aspect::Utilities::apply_permutation (const std::vector< T > &vector, const std::vector< std::size_t > &permutation_vector)
 
std::vector< Tensor< 2, 3 > > aspect::Utilities::rotation_matrices_random_draw_volume_weighting (const std::vector< double > volume_fractions, const std::vector< Tensor< 2, 3 >> rotation_matrices, const unsigned int n_output_matrices, std::mt19937 &random_number_generator)
 
double aspect::Utilities::wrap_angle (const double angle)
 
std::array< double, 3 > aspect::Utilities::zxz_euler_angles_from_rotation_matrix (const Tensor< 2, 3 > &rotation_matrix)
 
Tensor< 2, 3 > aspect::Utilities::zxz_euler_angles_to_rotation_matrix (const double phi1, const double theta, const double phi2)