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
80 pull_back(
const Point<dim> &space_point)
const override;
89 push_forward(
const Point<dim> &chart_point)
const override;
96 DerivativeForm<1, dim, dim>
97 push_forward_gradient(
const Point<dim> &chart_point)
const override;
104 pull_back_sphere(
const Point<dim> &space_point)
const;
112 push_forward_sphere(
const Point<dim> &chart_point)
const;
117 virtual Tensor<1, dim>
119 const typename Triangulation<dim>::face_iterator &face,
120 const Point<dim> &p)
const override;
129 get_radius(
const Point<dim> &space_point)
const;
139 set_min_longitude(
const double p1_lon);
144 std::unique_ptr<Manifold<dim,dim>>
145 clone()
const override;
151 set_min_radius(
const double p1_rad);
157 set_max_depth(
const double p2_rad_minus_p1_rad);
183 pull_back_topo(
const Point<dim> &space_point)
const;
192 push_forward_topo(
const Point<dim> &chart_point)
const;
242 void create_coarse_mesh (parallel::distributed::Triangulation<dim> &coarse_grid)
const override;
255 std::set<types::boundary_id>
256 get_used_boundary_indicators ()
const override;
270 std::map<std::string,types::boundary_id>
271 get_symbolic_boundary_names_map ()
const override;
284 double length_scale ()
const override;
299 double depth(
const Point<dim> &position)
const override;
305 double height_above_reference_surface(
const Point<dim> &position)
const override;
310 Point<dim> representative_point(
const double depth)
const override;
325 double depth_wrt_topo(
const Point<dim> &position)
const;
332 double west_longitude()
const;
339 double east_longitude()
const;
345 double longitude_range()
const;
352 double south_latitude()
const;
359 double north_latitude()
const;
365 double latitude_range()
const;
371 double maximal_depth()
const override;
377 double inner_radius()
const;
383 double outer_radius()
const;
392 has_curved_elements()
const override;
400 point_is_in_domain(
const Point<dim> &point)
const override;
413 std::array<double,dim> cartesian_to_natural_coordinates(
const Point<dim> &position)
const override;
420 Point<dim> natural_to_cartesian_coordinates(
const std::array<double,dim> &position)
const override;
433 parse_parameters (ParameterHandler &prm)
override;
std::array< unsigned int, dim > repetitions
const InitialTopographyModel::Interface< dim > * topo
internal::ChunkGeometry< dim > manifold
void declare_parameters(ParameterHandler &prm)