.. _forward_modelling: Forward modelling ================= .. toctree:: :titlesonly: :hidden: point prism tesseroid Harmonica offers some functions and classes to calculate the gravity and magnetic fields generated by the following 3D bodies. Gravity ------- .. grid:: 1 1 3 3 .. grid-item-card:: Point sources :img-top: ../../_static/figures/simple_points.svg :text-align: center :link: point :link-type: ref Cartesian and spherical coordinates .. grid-item-card:: Rectangular prisms :img-top: ../../_static/figures/simple_prism.svg :text-align: center :link: prism :link-type: ref Cartesian coordinates .. grid-item-card:: Tesseroids :img-top: ../../_static/figures/simple_tesseroid.svg :text-align: center :link: tesseroid :link-type: ref Spherical coordinates General description ------------------- Most of these functions require three main arguments: - The **computation points**, which are usually passed as the ``coordinates`` argument. These are the set of points where the field will be computed. They must be a tuple containing its coordinates in the following order: ``easting``, ``northing`` and ``upward`` or ``longitude``, ``latitude`` and ``radius`` (depending on the coordinate system that's being used). - The **sources** or **geometric bodies** that generate the field that will be computed. They must be often specified by their location or their boundaries. - The **physical properties** of the sources. For example, when computing gravity fields we might need to pass either the *density* or the *mass* of the sources. Optionally, we might need to specify which type of *field* we want to compute. For example, we might choose the *potential* gravity field or the vertical component of the gravity acceleration (``"g_z"``).