polyhedral-gravity 3.2.1rc1__cp311-cp311-musllinux_1_2_x86_64.whl → 3.3rc2__cp311-cp311-musllinux_1_2_x86_64.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
1
  Metadata-Version: 2.1
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,7 +19,7 @@ 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
25
 
@@ -95,20 +95,20 @@ The evaluation of the polyhedral gravity model requires the following parameters
95
95
  | Polyhedral Mesh (either as vertices & faces or as polyhedral source files) |
96
96
  | Constant Density $\rho$ |
97
97
 
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).
98
+ The mesh and the constant density's unit must match.
99
+ Have a look at the documentation to view the [supported mesh files](https://esa.github.io/polyhedral-gravity-model/quickstart/supported_input.html).
100
100
 
101
101
  ### Output
102
102
 
103
103
  The calculation outputs the following parameters for every Computation Point *P*.
104
104
  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.
105
+ Hence, if e.g., your mesh is in $km$, the density must match. Further, output units will be different accordingly.
106
106
 
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 |
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 acceleration 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 acceleration |
112
112
 
113
113
 
114
114
  >[!NOTE]
@@ -124,7 +124,7 @@ around a cube:
124
124
 
125
125
  ```python
126
126
  import numpy as np
127
- from polyhedral_gravity import Polyhedron, GravityEvaluable, evaluate, PolyhedronIntegrity, NormalOrientation
127
+ from polyhedral_gravity import Polyhedron, GravityEvaluable, evaluate, PolyhedronIntegrity, NormalOrientation, MetricUnit
128
128
 
129
129
  # We define the cube as a polyhedron with 8 vertices and 12 triangular faces
130
130
  # The polyhedron's normals point outwards (see below for checking this)
@@ -167,7 +167,7 @@ potential, acceleration, tensor = evaluate(
167
167
  The more advanced way is to use the `GravityEvaluable` class. It caches the
168
168
  internal data structure and properties which can be reused for multiple
169
169
  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.
170
+ for multiple computation points but don't know the "future points" in advance.
171
171
 
172
172
  ```python
173
173
  evaluable = GravityEvaluable(polyhedron=cube_polyhedron) # stores intermediate computation steps
@@ -188,21 +188,24 @@ This property is - by default - checked when constructing the `Polyhedron`! So,
188
188
  is impossible if not **explicitly** disabled to create an invalid `Polyhedron`.
189
189
  You can disable/ enable this setting via the optional `integrity_check` flag and can even
190
190
  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)
191
+ If you are confident that your mesh is defined correctly (e.g., checked once with the integrity check)
192
192
  you can disable this check (via `DISABLE`) to avoid the additional runtime overhead of the check.
193
+ Also, you can set the metric unit of the mesh and the density.
194
+ 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
195
 
194
196
  ```python
195
197
  cube_polyhedron = Polyhedron(
196
- polyhedral_source=(cube_vertices, cube_faces),
197
- density=cube_density,
198
+ polyhedral_source=(cube_vertices, cube_faces),# coordinates in m (default), km, or unitless
199
+ density=cube_density, # kg/m^3 (default) or kg/km^3 or unitless
198
200
  normal_orientation=NormalOrientation.INWARDS, # OUTWARDS (default) or INWARDS
199
201
  integrity_check=PolyhedronIntegrity.VERIFY, # VERIFY (default), DISABLE or HEAL
202
+ metric_unit=MetricUnit.METER, # METER (default), KILOMETER, UNITLESS
200
203
  )
201
204
  ```
202
205
 
203
206
  > [!TIP]
204
207
  > More examples and plots are depicted in the
205
- [jupyter notebook](script/polyhedral-gravity.ipynb).
208
+ [jupyter notebook](script/polyhedral-gravity.ipynb) and the [second jupyter notebook](script/Kleopatra.ipynb)
206
209
 
207
210
 
208
211
  ### Minimal C++ Example
@@ -267,8 +270,8 @@ As a second option, you can also install the python interface with pip from [PyP
267
270
  pip install polyhedral-gravity
268
271
  ```
269
272
 
270
- Binaries for the most common platforms are available on PyPI including
271
- Windows, Linux and macOS. For macOS and Linux, binaries for
273
+ Binaries for the most common platforms are available on PyPI, including
274
+ Windows, Linux, and macOS. For macOS and Linux, binaries for
272
275
  `x86_64` and `aarch64` are provided.
273
276
  In case `pip` uses the source distribution, please make sure that
274
277
  you have a C++17 capable compiler and CMake installed.
@@ -276,9 +279,9 @@ you have a C++17 capable compiler and CMake installed.
276
279
  ### From source
277
280
 
278
281
  The project uses the following dependencies,
279
- all of them are **automatically** set-up via CMake:
282
+ all of them are **automatically** set up via CMake:
280
283
 
281
- - GoogleTest (1.13.0 or compatible), only required for testing
284
+ - GoogleTest (1.15.2 or compatible), only required for testing
282
285
  - spdlog (1.13.0 or compatible), required for logging
283
286
  - tetgen (1.6 or compatible), required for I/O
284
287
  - yaml-cpp (0.8.0 or compatible), required for I/O
@@ -286,7 +289,7 @@ all of them are **automatically** set-up via CMake:
286
289
  - xsimd (11.1.0 or compatible), required for vectorization of the `atan(..)`
287
290
  - pybind11 (2.12.0 or compatible), required for the Python interface, but not the C++ standalone
288
291
 
289
- The module will be build using a C++17 capable compiler,
292
+ The module will be built using a C++17 capable compiler,
290
293
  CMake. Just execute the following command in
291
294
  the repository root folder:
292
295
 
@@ -304,7 +307,7 @@ export POLYHEDRAL_GRAVITY_PARALLELIZATION="TBB"
304
307
  pip install .
305
308
  ```
306
309
 
307
- (Optional: For a faster build you can install all dependencies available
310
+ (Optional: For a faster build, you can install all dependencies available
308
311
  for your system in your local python environment. That way, they
309
312
  won't be fetched from GitHub.)
310
313
 
@@ -312,7 +315,7 @@ won't be fetched from GitHub.)
312
315
 
313
316
  ### Building the C++ Library & Executable
314
317
 
315
- The program is build by using CMake. So first make sure that you installed
318
+ The program is built by using CMake. So first make sure that you installed
316
319
  CMake and then follow these steps:
317
320
 
318
321
  ```bash
@@ -324,17 +327,16 @@ cmake --build .
324
327
 
325
328
  The following options are available:
326
329
 
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 |
330
+ | Name (Default) | Options |
331
+ |-------------------------------------------------------------:|:--------------------------------------------------------------------------------------------|
332
+ | POLYHEDRAL_GRAVITY_PARALLELIZATION (`CPP`) | `CPP` = Serial Execution / `OMP` or `TBB` = Parallel Execution with OpenMP or Intel\'s TBB |
333
+ | POLYHEDRAL_GRAVITY_LOGGING_LEVEL (`INFO`) | `TRACE`, `DEBUG`, `INFO`, `WARN`, `ERROR`, `CRITICAL`, `OFF` |
334
+ | BUILD_POLYHEDRAL_GRAVITY_DOCS (`OFF`) | Build this documentation |
335
+ | BUILD_POLYHEDRAL_GRAVITY_TESTS (`ON`) | Build the Tests |
336
+ | BUILD_POLYHEDRAL_GRAVITY_PYTHON_INTERFACE (`ON`) | Build the Python interface |
335
337
 
336
338
  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`.
339
+ It is further not recommended to change the POLYHEDRAL_GRAVITY_LOGGING_LEVEL to something else than `INFO=2`.
338
340
 
339
341
  The recommended CMake settings using the `TBB` backend would look like this:
340
342
 
@@ -361,23 +363,24 @@ It is required to specify the source-files of the polyhedron's mesh (more info
361
363
  about the supported file in the [documentation](https://esa.github.io/polyhedral-gravity-model/quickstart/supported_input.html)), the density
362
364
  of the polyhedron, and the wished computation points where the
363
365
  gravity tensor shall be computed.
364
- Further one must specify the name of the .csv output file.
366
+ Further, one must specify the name of the .csv output file.
365
367
 
366
368
  ````yaml
367
369
  ---
368
370
  gravityModel:
369
371
  input:
370
- polyhedron: #polyhedron source-file(s)
372
+ polyhedron: # polyhedron source-file(s)
371
373
  - "../example-config/data/tsoulis.node" # .node contains the vertices
372
374
  - "../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
375
+ density: 2670.0 # constant density, units must match with the mesh (see a section below)
376
+ # Depends on metric_unit: 'km' -> kg/km^3, 'm' -> kg/m^3, 'unitless' -> 'unitless'
377
+ points: # Location of the computation point(s) P
375
378
  - [ 0, 0, 0 ] # Here it is situated at the origin
376
- check_mesh: true # Fully optional, enables mesh autodetect+repair of
379
+ check_mesh: true # Fully optional, enables mesh autodetect+repair of
377
380
  # the polyhedron's vertex ordering (not given: true)
381
+ metric_unit: m # Unit of mesh: One of 'm', 'km' or 'unitless' (not given: 'm')
378
382
  output:
379
- filename: "gravity_result.csv" # The name of the output file
380
-
383
+ filename: "gravity_result.csv" # The name of the output file
381
384
  ````
382
385
 
383
386
  #### Output
@@ -388,8 +391,8 @@ computation point *P*.
388
391
 
389
392
  ## Testing
390
393
 
391
- The project uses GoogleTest for testing. In oder to execute those
392
- tests just execute the following command in the build directory:
394
+ The project uses GoogleTest for testing.
395
+ In order to execute those tests, just execute the following command in the build directory:
393
396
 
394
397
  ```bash
395
398
  ctest
@@ -404,5 +407,5 @@ pytest
404
407
  ## Contributing
405
408
 
406
409
  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
410
+ suggestions, bug reports, and pull requests. Please have a look at
408
411
  the [contributing guidelines](CONTRIBUTING.md) for more information.
@@ -0,0 +1,8 @@
1
+ polyhedral_gravity.cpython-311-x86_64-linux-musl.so,sha256=ODEsVXmWc_FMvOg2rWtjYyGq6lSFtIj8gYl-J9rukXQ,2160953
2
+ polyhedral_gravity-3.3rc2.dist-info/top_level.txt,sha256=bIf9hErNs1GV27AnQWoRTE2j0lRmjhrKI1z-_MTR4Nk,19
3
+ polyhedral_gravity-3.3rc2.dist-info/METADATA,sha256=zx4CS7VhqDlHjgxFsUNyqhZm04cLHPLcYEbEhUJSAJM,18316
4
+ polyhedral_gravity-3.3rc2.dist-info/LICENSE,sha256=ZJuIRhVUKcE6znMu3JzQKChvng_3yKh9v3v1MtHspHw,36310
5
+ polyhedral_gravity-3.3rc2.dist-info/RECORD,,
6
+ polyhedral_gravity-3.3rc2.dist-info/WHEEL,sha256=MQ29nCArLmrihs_AhYLz4TIaCgvATTq37oKgctZCPls,112
7
+ polyhedral_gravity.libs/libstdc++-0d31ccbe.so.6.0.32,sha256=QyUTnI2umnGgPmNJ-6F_BVIAJnq6-70cNoEWpma6EFQ,3494521
8
+ polyhedral_gravity.libs/libgcc_s-a0b57c20.so.1,sha256=XPAr2giQZFaQKDEig3i_sQM7zfbaGkuhwmZ9ryvu-Vk,148041
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (72.1.0)
2
+ Generator: setuptools (75.5.0)
3
3
  Root-Is-Purelib: false
4
4
  Tag: cp311-cp311-musllinux_1_2_x86_64
5
5
 
@@ -1,8 +0,0 @@
1
- polyhedral_gravity.cpython-311-x86_64-linux-musl.so,sha256=X7KCivWFzVkYNdT31Gc4LKzAqhVp_Eamg52C7hCK6X8,2105201
2
- polyhedral_gravity-3.2.1rc1.dist-info/LICENSE,sha256=ZJuIRhVUKcE6znMu3JzQKChvng_3yKh9v3v1MtHspHw,36310
3
- polyhedral_gravity-3.2.1rc1.dist-info/METADATA,sha256=2UQrLcu8ht3_-BeGagOMFqGitL06hb3aiWZ3ZOsZwpU,17537
4
- polyhedral_gravity-3.2.1rc1.dist-info/top_level.txt,sha256=bIf9hErNs1GV27AnQWoRTE2j0lRmjhrKI1z-_MTR4Nk,19
5
- polyhedral_gravity-3.2.1rc1.dist-info/RECORD,,
6
- polyhedral_gravity-3.2.1rc1.dist-info/WHEEL,sha256=RhaGuH6QTE7ENEuNoixxFzKXEt0KDbtlsTwJ21YePZI,112
7
- polyhedral_gravity.libs/libgcc_s-a3a07607.so.1,sha256=5ptIUeAzZweNZrFehN0_Bb5B0FcJgux7NbAFoU8vwwo,148041
8
- polyhedral_gravity.libs/libstdc++-496613c0.so.6.0.32,sha256=AwZhL5WFT99I2Q6vIxXOhW7qddfuOZ1xecxiP9QTVY4,3494361