20 #ifndef WORLD_BUILDER_FEATURES_SUBDUCTING_PLATE_H 21 #define WORLD_BUILDER_FEATURES_SUBDUCTING_PLATE_H 40 using namespace FeatureUtilities;
41 namespace SubductingPlateModels
85 const std::string &parent_name =
"",
86 const std::vector<std::string> &required_entries = {});
97 void parse_entries(
Parameters &prm)
override final;
137 properties(
const Point<3> &position_in_cartesian_coordinates,
140 const std::vector<std::array<unsigned int,3>> &properties,
141 const double gravity,
142 const std::vector<size_t> &entry_in_output,
143 std::vector<double> &output)
const override final;
150 distance_to_feature_plane(
const Point<3> &position_in_cartesian_coordinates,
152 const double depth)
const override;
166 std::vector< std::vector<
Objects::Segment<Features::SubductingPlateModels::Temperature::Interface,
167 Features::SubductingPlateModels::Composition::Interface,
168 Features::SubductingPlateModels::Grains::Interface,
174 std::vector<std::vector<
Objects::Segment<Features::SubductingPlateModels::Temperature::Interface,
175 Features::SubductingPlateModels::Composition::Interface,
176 Features::SubductingPlateModels::Grains::Interface,
double maximum_total_slab_length
std::vector< std::shared_ptr< Features::SubductingPlateModels::Grains::Interface > > default_grains_models
Point< 2 > reference_point
std::vector< std::vector< Point< 2 > > > slab_segment_angles
std::vector< std::shared_ptr< Features::SubductingPlateModels::Composition::Interface > > default_composition_models
std::vector< std::vector< Point< 2 > > > slab_segment_top_truncation
std::vector< std::vector< Objects::Segment< Features::SubductingPlateModels::Temperature::Interface, Features::SubductingPlateModels::Composition::Interface, Features::SubductingPlateModels::Grains::Interface, Features::SubductingPlateModels::Velocity::Interface > > > segment_vector
std::vector< std::shared_ptr< Features::SubductingPlateModels::Velocity::Interface > > default_velocity_models
BoundingBox< 2 > surface_bounding_box
std::vector< Objects::Segment< Features::SubductingPlateModels::Temperature::Interface, Features::SubductingPlateModels::Composition::Interface, Features::SubductingPlateModels::Grains::Interface, Features::SubductingPlateModels::Velocity::Interface > > default_segment_vector
std::vector< std::vector< Objects::Segment< Features::SubductingPlateModels::Temperature::Interface, Features::SubductingPlateModels::Composition::Interface, Features::SubductingPlateModels::Grains::Interface, Features::SubductingPlateModels::Velocity::Interface > > > sections_segment_vector
std::vector< std::vector< Point< 2 > > > slab_segment_thickness
std::vector< std::vector< double > > slab_segment_lengths
std::vector< double > total_slab_length
std::vector< std::shared_ptr< Features::SubductingPlateModels::Temperature::Interface > > default_temperature_models
double buffer_around_slab_cartesian
double maximum_slab_thickness