22 #ifndef _aspect_boundary_velocity_gplates_h
23 #define _aspect_boundary_velocity_gplates_h
34 namespace BoundaryVelocity
81 std::array<std::unique_ptr<Functions::InterpolatedUniformGridData<2>>, 2>
velocities;
119 template <
int in,
int out>
147 const std::array<double,3> &s_position)
const;
322 std::unique_ptr<internal::GPlatesLookup<dim>>
lookup;
void initialize() override
std::string velocity_file_name
double data_file_time_step
std::string data_directory
std::unique_ptr< internal::GPlatesLookup< dim > > lookup
std::string create_filename(const unsigned int timestep) const
void end_time_dependence()
int first_data_file_number
void update_data(const bool load_both_files)
Tensor< 1, dim > boundary_velocity(const types::boundary_id boundary_indicator, const Point< dim > &position) const override
void parse_parameters(ParameterHandler &prm) override
double velocity_scaling_factor
double lithosphere_thickness
std::unique_ptr< internal::GPlatesLookup< dim > > old_lookup
bool decreasing_file_order
double first_data_file_model_time
static void declare_parameters(ParameterHandler &prm)
Tensor< 1, dim > cartesian_velocity_at_surface_point(const std::array< double, 3 > &spherical_point) const
Tensor< 1, 3 > cartesian_surface_coordinates(const Tensor< 1, 3 > &sposition) const
std::array< double, 3 > angles_from_matrix(const Tensor< 2, 3 > &rotation_matrix) const
GPlatesLookup(const Tensor< 1, 2 > &surface_point_one, const Tensor< 1, 2 > &surface_point_two)
Tensor< 1, dim > surface_velocity(const Point< dim > &position) const
double rotation_axis_from_matrix(Tensor< 1, 3 > &rotation_axis, const Tensor< 2, 3 > &rotation_matrix) const
Tensor< 1, out > convert_tensor(const Tensor< 1, in > &old_tensor) const
bool gplates_1_4_or_higher(const boost::property_tree::ptree &pt) const
std::array< std::unique_ptr< Functions::InterpolatedUniformGridData< 2 > >, 2 > velocities
std::string screen_output(const Tensor< 1, 2 > &surface_point_one, const Tensor< 1, 2 > &surface_point_two) const
void load_file(const std::string &filename, const MPI_Comm comm)
Tensor< 2, 3 > rotation_matrix
Tensor< 1, 3 > sphere_to_cart_velocity(const Tensor< 1, 2 > &s_velocities, const std::array< double, 3 > &s_position) const