polyhedral-gravity 3.2.1rc1__cp312-cp312-macosx_11_0_arm64.whl → 3.3rc2__cp312-cp312-macosx_11_0_arm64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.4
2
2
  Name: polyhedral_gravity
3
- Version: 3.2.1rc1
3
+ Version: 3.3rc2
4
4
  Summary: Package to compute full gravity tensor of a given constant density polyhedron for arbitrary points according to the geodetic convention
5
5
  Author: Jonas Schuhmacher
6
6
  Author-email: jonas.schuhmacher@tum.de
@@ -19,9 +19,19 @@ Classifier: Operating System :: MacOS
19
19
  Classifier: Operating System :: POSIX :: Linux
20
20
  Classifier: Intended Audience :: Science/Research
21
21
  Classifier: Topic :: Scientific/Engineering :: Physics
22
- Requires-Python: >=3.6
22
+ Requires-Python: >=3.8
23
23
  Description-Content-Type: text/markdown
24
24
  License-File: LICENSE
25
+ Dynamic: author
26
+ Dynamic: author-email
27
+ Dynamic: classifier
28
+ Dynamic: description
29
+ Dynamic: description-content-type
30
+ Dynamic: license
31
+ Dynamic: license-file
32
+ Dynamic: project-url
33
+ Dynamic: requires-python
34
+ Dynamic: summary
25
35
 
26
36
  # polyhedral-gravity-model
27
37
 
@@ -95,20 +105,20 @@ The evaluation of the polyhedral gravity model requires the following parameters
95
105
  | Polyhedral Mesh (either as vertices & faces or as polyhedral source files) |
96
106
  | Constant Density $\rho$ |
97
107
 
98
- The mesh and the constants density's unit must match.
99
- Have a look the documentation to view the [supported mesh files](https://esa.github.io/polyhedral-gravity-model/quickstart/supported_input.html).
108
+ The mesh and the constant density's unit must match.
109
+ Have a look at the documentation to view the [supported mesh files](https://esa.github.io/polyhedral-gravity-model/quickstart/supported_input.html).
100
110
 
101
111
  ### Output
102
112
 
103
113
  The calculation outputs the following parameters for every Computation Point *P*.
104
114
  The units of the respective output depend on the units of the input parameters (mesh and density)!
105
- Hence, if e.g. your mesh is in $km$, the density must match. Further, output units will be different accordingly.
115
+ Hence, if e.g., your mesh is in $km$, the density must match. Further, output units will be different accordingly.
106
116
 
107
- | Name | Unit (if mesh in $[m]$ and $\rho$ in $[kg/m^3]$) | Comment |
108
- |:----------------------------------------------------------:|:------------------------------------------------:|:-----------------------------------------------------------------:|
109
- | $V$ | $\frac{m^2}{s^2}$ or $\frac{J}{kg}$ | The potential or also called specific energy |
110
- | $V_x$, $V_y$, $V_z$ | $\frac{m}{s^2}$ | The gravitational accerleration in the three cartesian directions |
111
- | $V_{xx}$, $V_{yy}$, $V_{zz}$, $V_{xy}$, $V_{xz}$, $V_{yz}$ | $\frac{1}{s^2}$ | The spatial rate of change of the gravitational accleration |
117
+ | Name | Unit (if mesh in $[m]$ and $\rho$ in $[kg/m^3]$) | Comment |
118
+ |:----------------------------------------------------------:|:------------------------------------------------:|:----------------------------------------------------------------:|
119
+ | $V$ | $\frac{m^2}{s^2}$ or $\frac{J}{kg}$ | The potential or also called specific energy |
120
+ | $V_x$, $V_y$, $V_z$ | $\frac{m}{s^2}$ | The gravitational acceleration in the three cartesian directions |
121
+ | $V_{xx}$, $V_{yy}$, $V_{zz}$, $V_{xy}$, $V_{xz}$, $V_{yz}$ | $\frac{1}{s^2}$ | The spatial rate of change of the gravitational acceleration |
112
122
 
113
123
 
114
124
  >[!NOTE]
@@ -124,7 +134,7 @@ around a cube:
124
134
 
125
135
  ```python
126
136
  import numpy as np
127
- from polyhedral_gravity import Polyhedron, GravityEvaluable, evaluate, PolyhedronIntegrity, NormalOrientation
137
+ from polyhedral_gravity import Polyhedron, GravityEvaluable, evaluate, PolyhedronIntegrity, NormalOrientation, MetricUnit
128
138
 
129
139
  # We define the cube as a polyhedron with 8 vertices and 12 triangular faces
130
140
  # The polyhedron's normals point outwards (see below for checking this)
@@ -167,7 +177,7 @@ potential, acceleration, tensor = evaluate(
167
177
  The more advanced way is to use the `GravityEvaluable` class. It caches the
168
178
  internal data structure and properties which can be reused for multiple
169
179
  evaluations. This is especially useful if you want to compute the gravity
170
- for multiple computation points, but don't know the "future points" in advance.
180
+ for multiple computation points but don't know the "future points" in advance.
171
181
 
172
182
  ```python
173
183
  evaluable = GravityEvaluable(polyhedron=cube_polyhedron) # stores intermediate computation steps
@@ -188,21 +198,24 @@ This property is - by default - checked when constructing the `Polyhedron`! So,
188
198
  is impossible if not **explicitly** disabled to create an invalid `Polyhedron`.
189
199
  You can disable/ enable this setting via the optional `integrity_check` flag and can even
190
200
  automatically repair the ordering via `HEAL`.
191
- If you are confident that your mesh is defined correctly (e.g. checked once with the integrity check)
201
+ If you are confident that your mesh is defined correctly (e.g., checked once with the integrity check)
192
202
  you can disable this check (via `DISABLE`) to avoid the additional runtime overhead of the check.
203
+ Also, you can set the metric unit of the mesh and the density.
204
+ This also influences the output unit. E.g., Density in $kg/m^3$, Mesh in $m$, then the potential is given in $m^2/s^2$.
193
205
 
194
206
  ```python
195
207
  cube_polyhedron = Polyhedron(
196
- polyhedral_source=(cube_vertices, cube_faces),
197
- density=cube_density,
208
+ polyhedral_source=(cube_vertices, cube_faces),# coordinates in m (default), km, or unitless
209
+ density=cube_density, # kg/m^3 (default) or kg/km^3 or unitless
198
210
  normal_orientation=NormalOrientation.INWARDS, # OUTWARDS (default) or INWARDS
199
211
  integrity_check=PolyhedronIntegrity.VERIFY, # VERIFY (default), DISABLE or HEAL
212
+ metric_unit=MetricUnit.METER, # METER (default), KILOMETER, UNITLESS
200
213
  )
201
214
  ```
202
215
 
203
216
  > [!TIP]
204
217
  > More examples and plots are depicted in the
205
- [jupyter notebook](script/polyhedral-gravity.ipynb).
218
+ [jupyter notebook](script/polyhedral-gravity.ipynb) and the [second jupyter notebook](script/Kleopatra.ipynb)
206
219
 
207
220
 
208
221
  ### Minimal C++ Example
@@ -267,8 +280,8 @@ As a second option, you can also install the python interface with pip from [PyP
267
280
  pip install polyhedral-gravity
268
281
  ```
269
282
 
270
- Binaries for the most common platforms are available on PyPI including
271
- Windows, Linux and macOS. For macOS and Linux, binaries for
283
+ Binaries for the most common platforms are available on PyPI, including
284
+ Windows, Linux, and macOS. For macOS and Linux, binaries for
272
285
  `x86_64` and `aarch64` are provided.
273
286
  In case `pip` uses the source distribution, please make sure that
274
287
  you have a C++17 capable compiler and CMake installed.
@@ -276,9 +289,9 @@ you have a C++17 capable compiler and CMake installed.
276
289
  ### From source
277
290
 
278
291
  The project uses the following dependencies,
279
- all of them are **automatically** set-up via CMake:
292
+ all of them are **automatically** set up via CMake:
280
293
 
281
- - GoogleTest (1.13.0 or compatible), only required for testing
294
+ - GoogleTest (1.15.2 or compatible), only required for testing
282
295
  - spdlog (1.13.0 or compatible), required for logging
283
296
  - tetgen (1.6 or compatible), required for I/O
284
297
  - yaml-cpp (0.8.0 or compatible), required for I/O
@@ -286,7 +299,7 @@ all of them are **automatically** set-up via CMake:
286
299
  - xsimd (11.1.0 or compatible), required for vectorization of the `atan(..)`
287
300
  - pybind11 (2.12.0 or compatible), required for the Python interface, but not the C++ standalone
288
301
 
289
- The module will be build using a C++17 capable compiler,
302
+ The module will be built using a C++17 capable compiler,
290
303
  CMake. Just execute the following command in
291
304
  the repository root folder:
292
305
 
@@ -304,7 +317,7 @@ export POLYHEDRAL_GRAVITY_PARALLELIZATION="TBB"
304
317
  pip install .
305
318
  ```
306
319
 
307
- (Optional: For a faster build you can install all dependencies available
320
+ (Optional: For a faster build, you can install all dependencies available
308
321
  for your system in your local python environment. That way, they
309
322
  won't be fetched from GitHub.)
310
323
 
@@ -312,7 +325,7 @@ won't be fetched from GitHub.)
312
325
 
313
326
  ### Building the C++ Library & Executable
314
327
 
315
- The program is build by using CMake. So first make sure that you installed
328
+ The program is built by using CMake. So first make sure that you installed
316
329
  CMake and then follow these steps:
317
330
 
318
331
  ```bash
@@ -324,17 +337,16 @@ cmake --build .
324
337
 
325
338
  The following options are available:
326
339
 
327
- | Name (Default) | Options |
328
- |-------------------------------------------:|:-------------------------------------------------------------------------------------------|
329
- | POLYHEDRAL_GRAVITY_PARALLELIZATION (`CPP`) | `CPP` = Serial Execution / `OMP` or `TBB` = Parallel Execution with OpenMP or Intel\'s TBB |
330
- | LOGGING_LEVEL (`2`) | `0` = TRACE/ `1` = DEBUG/ `2` = INFO / `3` = WARN/ `4` = ERROR/ `5` = CRITICAL/ `6` = OFF |
331
- | USE_LOCAL_TBB (`OFF`) | Use a local installation of `TBB` instead of setting it up via `CMake` |
332
- | BUILD_POLYHEDRAL_GRAVITY_DOCS (`OFF`) | Build this documentation |
333
- | BUILD_POLYHEDRAL_GRAVITY_TESTS (`ON`) | Build the Tests |
334
- | BUILD_POLYHEDRAL_PYTHON_INTERFACE (`ON`) | Build the Python interface |
340
+ | Name (Default) | Options |
341
+ |-------------------------------------------------------------:|:--------------------------------------------------------------------------------------------|
342
+ | POLYHEDRAL_GRAVITY_PARALLELIZATION (`CPP`) | `CPP` = Serial Execution / `OMP` or `TBB` = Parallel Execution with OpenMP or Intel\'s TBB |
343
+ | POLYHEDRAL_GRAVITY_LOGGING_LEVEL (`INFO`) | `TRACE`, `DEBUG`, `INFO`, `WARN`, `ERROR`, `CRITICAL`, `OFF` |
344
+ | BUILD_POLYHEDRAL_GRAVITY_DOCS (`OFF`) | Build this documentation |
345
+ | BUILD_POLYHEDRAL_GRAVITY_TESTS (`ON`) | Build the Tests |
346
+ | BUILD_POLYHEDRAL_GRAVITY_PYTHON_INTERFACE (`ON`) | Build the Python interface |
335
347
 
336
348
  During testing POLYHEDRAL_GRAVITY_PARALLELIZATION=`TBB` has been the most performant.
337
- It is further not recommend to change the LOGGING_LEVEL to something else than `INFO=2`.
349
+ It is further not recommended to change the POLYHEDRAL_GRAVITY_LOGGING_LEVEL to something else than `INFO=2`.
338
350
 
339
351
  The recommended CMake settings using the `TBB` backend would look like this:
340
352
 
@@ -361,23 +373,24 @@ It is required to specify the source-files of the polyhedron's mesh (more info
361
373
  about the supported file in the [documentation](https://esa.github.io/polyhedral-gravity-model/quickstart/supported_input.html)), the density
362
374
  of the polyhedron, and the wished computation points where the
363
375
  gravity tensor shall be computed.
364
- Further one must specify the name of the .csv output file.
376
+ Further, one must specify the name of the .csv output file.
365
377
 
366
378
  ````yaml
367
379
  ---
368
380
  gravityModel:
369
381
  input:
370
- polyhedron: #polyhedron source-file(s)
382
+ polyhedron: # polyhedron source-file(s)
371
383
  - "../example-config/data/tsoulis.node" # .node contains the vertices
372
384
  - "../example-config/data/tsoulis.face" # .face contains the triangular faces
373
- density: 2670.0 # constant density, units must match with the mesh (see section below)
374
- points: # Location of the computation point(s) P
385
+ density: 2670.0 # constant density, units must match with the mesh (see a section below)
386
+ # Depends on metric_unit: 'km' -> kg/km^3, 'm' -> kg/m^3, 'unitless' -> 'unitless'
387
+ points: # Location of the computation point(s) P
375
388
  - [ 0, 0, 0 ] # Here it is situated at the origin
376
- check_mesh: true # Fully optional, enables mesh autodetect+repair of
389
+ check_mesh: true # Fully optional, enables mesh autodetect+repair of
377
390
  # the polyhedron's vertex ordering (not given: true)
391
+ metric_unit: m # Unit of mesh: One of 'm', 'km' or 'unitless' (not given: 'm')
378
392
  output:
379
- filename: "gravity_result.csv" # The name of the output file
380
-
393
+ filename: "gravity_result.csv" # The name of the output file
381
394
  ````
382
395
 
383
396
  #### Output
@@ -388,8 +401,8 @@ computation point *P*.
388
401
 
389
402
  ## Testing
390
403
 
391
- The project uses GoogleTest for testing. In oder to execute those
392
- tests just execute the following command in the build directory:
404
+ The project uses GoogleTest for testing.
405
+ In order to execute those tests, just execute the following command in the build directory:
393
406
 
394
407
  ```bash
395
408
  ctest
@@ -404,5 +417,5 @@ pytest
404
417
  ## Contributing
405
418
 
406
419
  We are happy to accept contributions to the project in the form of
407
- suggestions, bug reports and pull requests. Please have a look at
420
+ suggestions, bug reports, and pull requests. Please have a look at
408
421
  the [contributing guidelines](CONTRIBUTING.md) for more information.
@@ -0,0 +1,6 @@
1
+ polyhedral_gravity.cpython-312-darwin.so,sha256=kLFNdES2CTz5scx4wCu-jGyYXaAJCXOP5HCg9UuYTA0,1469496
2
+ polyhedral_gravity-3.3rc2.dist-info/RECORD,,
3
+ polyhedral_gravity-3.3rc2.dist-info/WHEEL,sha256=IR6S_K8Km0Ji5Zl8vjPSo_uH9-UA1bb9Jsoca0AUJ14,109
4
+ polyhedral_gravity-3.3rc2.dist-info/top_level.txt,sha256=bIf9hErNs1GV27AnQWoRTE2j0lRmjhrKI1z-_MTR4Nk,19
5
+ polyhedral_gravity-3.3rc2.dist-info/METADATA,sha256=GsJhF9JKcQLz7jweg6cvtA2duUX0u5whfJC1ymfvp7U,18531
6
+ polyhedral_gravity-3.3rc2.dist-info/licenses/LICENSE,sha256=ZJuIRhVUKcE6znMu3JzQKChvng_3yKh9v3v1MtHspHw,36310
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (74.1.2)
2
+ Generator: setuptools (79.0.1)
3
3
  Root-Is-Purelib: false
4
4
  Tag: cp312-cp312-macosx_11_0_arm64
5
5
 
Binary file
@@ -1,6 +0,0 @@
1
- polyhedral_gravity.cpython-312-darwin.so,sha256=TT_sSD_Q97U-Fi3y-VZCASeZFE6l3gJ49j7LGLvGvk4,1422344
2
- polyhedral_gravity-3.2.1rc1.dist-info/RECORD,,
3
- polyhedral_gravity-3.2.1rc1.dist-info/LICENSE,sha256=ZJuIRhVUKcE6znMu3JzQKChvng_3yKh9v3v1MtHspHw,36310
4
- polyhedral_gravity-3.2.1rc1.dist-info/WHEEL,sha256=4emhGL0wvYg6ZQLb0aNjZSvrVOvPeju5PgogvjXs8IM,109
5
- polyhedral_gravity-3.2.1rc1.dist-info/top_level.txt,sha256=bIf9hErNs1GV27AnQWoRTE2j0lRmjhrKI1z-_MTR4Nk,19
6
- polyhedral_gravity-3.2.1rc1.dist-info/METADATA,sha256=2UQrLcu8ht3_-BeGagOMFqGitL06hb3aiWZ3ZOsZwpU,17537