|
World Builder
1.1.0-pre
A geodynamic initial conditions generator
|
#include <plume.h>


Public Member Functions | |
| Plume (WorldBuilder::World *world) | |
| ~Plume () override final | |
| void | parse_entries (Parameters &prm) override final |
| void | properties (const Point< 3 > &position_in_cartesian_coordinates, const Objects::NaturalCoordinate &position_in_natural_coordinates, const double depth, const std::vector< std::array< unsigned int, 3 >> &properties, const double gravity, const std::vector< size_t > &entry_in_output, std::vector< double > &output) const override final |
Public Member Functions inherited from WorldBuilder::Features::Interface | |
| Interface () | |
| virtual | ~Interface () |
| void | get_coordinates (const std::string &name, Parameters &prm, const CoordinateSystem coordinate_system) |
| std::string | get_name () const |
| virtual Objects::PlaneDistances | distance_to_feature_plane (const Point< 3 > &position_in_cartesian_coordinates, const Objects::NaturalCoordinate &position_in_natural_coordinates, const double depth) const |
Static Public Member Functions | |
| static void | declare_entries (Parameters &prm, const std::string &parent_name="", const std::vector< std::string > &required_entries={}) |
| static void | make_snippet (Parameters &prm) |
Static Public Member Functions inherited from WorldBuilder::Features::Interface | |
| static void | declare_entries (Parameters &prm, const std::string &parent_name, const std::vector< std::string > &required_entries) |
| static void | registerType (const std::string &name, void(*)(Parameters &, const std::string &, const std::vector< std::string > &required_entries), void(*make_snippet)(Parameters &), ObjectFactory *factory) |
| static std::unique_ptr< Interface > | create (const std::string &name, WorldBuilder::World *world) |
Private Attributes | |
| std::vector< std::unique_ptr< Features::PlumeModels::Temperature::Interface > > | temperature_models |
| std::vector< std::unique_ptr< Features::PlumeModels::Composition::Interface > > | composition_models |
| std::vector< std::unique_ptr< Features::PlumeModels::Velocity::Interface > > | velocity_models |
| std::vector< std::unique_ptr< Features::PlumeModels::Grains::Interface > > | grains_models |
| double | min_depth |
| double | max_depth |
| std::vector< double > | depths |
| std::vector< double > | semi_major_axis_lengths |
| std::vector< double > | eccentricities |
| std::vector< double > | rotation_angles |
Additional Inherited Members | |
Protected Attributes inherited from WorldBuilder::Features::Interface | |
| WorldBuilder::World * | world |
| std::string | name |
| size_t | tag_index |
| WorldBuilder::Utilities::InterpolationType | interpolation_type |
| std::size_t | original_number_of_coordinates |
| std::vector< Point< 2 > > | coordinates |
| WorldBuilder::Objects::BezierCurve | bezier_curve |
| std::string | temperature_submodule_name |
| std::string | composition_submodule_name |
This class represents a plume and can implement submodules for temperature and composition. These submodules determine what the returned temperature or composition of the temperature and composition functions of this class will be.
| WorldBuilder::Features::Plume::Plume | ( | WorldBuilder::World * | world | ) |
|
finaloverridedefault |
Destructor

|
static |
|
static |
|
finaloverridevirtual |
declare and read in the world builder file into the parameters class
Implements WorldBuilder::Features::Interface.
Definition at line 121 of file plume.cc.

|
finaloverridevirtual |
Returns different values at a single point in one go stored in a vector of doubles.
The properties input decides what each entry means, and the output is generated in the same order as the properties input. The properties input consists of a 3D array, where the first entry identifies the property and the last two entries provide extra information about that property.
Temperature is identified by 1 and no extra information is needed. So temperature input usually looks like {1,0,0}. A temperature query prodoces one entry in the output vector.
Composition is identified by 2. This produces one value in the output. The second entry identifies the composition number and the third number is not used. So a commposition query asking about composition 1 looks like this: {2,1,0}. A composition query produces one entry in the output vector.
Grains are identified by 2. The second entry is the grain composition number and the third entry is the number of grains. A query about the grains, where it asks about composition 1 (for example enstatite) and 500 grains, looks like this: {2,1,500}. A composition query prodoces n_grains*10 entries in the output vector. The first n_grains entries are the sizes of all the grains, and the other 9 entries are sets of rotation matrices. The rotation matrix entries are ordered [0][0],[0][1],[0][2],[1][0],[1][1],etc.
The entries in output variable relates the index of the property to the index in the output.
Implements WorldBuilder::Features::Interface.
Definition at line 254 of file plume.cc.

|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |