22 #ifndef _aspect_geometry_model_chunk_h 23 #define _aspect_geometry_model_chunk_h 29 #include <deal.II/grid/manifold.h> 30 #include <deal.II/base/function_lib.h> 31 #include <deal.II/grid/grid_out.h> 35 namespace GeometryModel
61 const double min_longitude,
62 const double min_radius,
63 const double max_depth);
76 pull_back(
const Point<dim> &space_point)
const override;
85 push_forward(
const Point<dim> &chart_point)
const override;
92 DerivativeForm<1, dim, dim>
93 push_forward_gradient(
const Point<dim> &chart_point)
const override;
100 pull_back_sphere(
const Point<dim> &space_point)
const;
108 push_forward_sphere(
const Point<dim> &chart_point)
const;
113 virtual Tensor<1, dim>
115 const typename Triangulation<dim>::face_iterator &face,
116 const Point<dim> &p)
const override;
125 get_radius(
const Point<dim> &space_point)
const;
130 std::unique_ptr<Manifold<dim,dim>>
131 clone()
const override;
162 pull_back_topo(
const Point<dim> &space_point)
const;
171 push_forward_topo(
const Point<dim> &chart_point)
const;
210 void create_coarse_mesh (parallel::distributed::Triangulation<dim> &coarse_grid)
const override;
223 std::set<types::boundary_id>
224 get_used_boundary_indicators ()
const override;
238 std::map<std::string,types::boundary_id>
239 get_symbolic_boundary_names_map ()
const override;
252 double length_scale ()
const override;
267 double depth(
const Point<dim> &position)
const override;
273 double height_above_reference_surface(
const Point<dim> &position)
const override;
278 Point<dim> representative_point(
const double depth)
const override;
285 double west_longitude()
const;
292 double east_longitude()
const;
298 double longitude_range()
const;
305 double south_latitude()
const;
312 double north_latitude()
const;
318 double latitude_range()
const;
324 double maximal_depth()
const override;
330 double inner_radius()
const;
336 double outer_radius()
const;
345 has_curved_elements()
const override;
353 point_is_in_domain(
const Point<dim> &point)
const override;
366 std::array<double,dim> cartesian_to_natural_coordinates(
const Point<dim> &position)
const override;
373 Point<dim> natural_to_cartesian_coordinates(
const std::array<double,dim> &position)
const override;
386 parse_parameters (ParameterHandler &prm)
override;
417 std::unique_ptr<const internal::ChunkGeometry<dim>>
manifold;
422 static constexpr types::manifold_id my_manifold_id = 15;
std::array< unsigned int, dim > repetitions
const InitialTopographyModel::Interface< dim > * topo
std::unique_ptr< const internal::ChunkGeometry< dim > > manifold
void declare_parameters(ParameterHandler &prm)