gebpy 1.1.3__py3-none-any.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.
Files changed (254) hide show
  1. gebpy/__init__.py +55 -0
  2. gebpy/__pycache__/__init__.cpython-310.pyc +0 -0
  3. gebpy/adapters/__init__.py +0 -0
  4. gebpy/cli/__init__.py +0 -0
  5. gebpy/core/__init__.py +0 -0
  6. gebpy/core/chemistry/__init__.py +0 -0
  7. gebpy/core/chemistry/common.py +1369 -0
  8. gebpy/core/chemistry/elements.py +317 -0
  9. gebpy/core/chemistry/geochemistry.py +1728 -0
  10. gebpy/core/fluids/__init__.py +0 -0
  11. gebpy/core/io/__init__.py +0 -0
  12. gebpy/core/mathematics/__init__.py +0 -0
  13. gebpy/core/minerals/__init__.py +0 -0
  14. gebpy/core/minerals/carbonates.py +412 -0
  15. gebpy/core/minerals/common.py +555 -0
  16. gebpy/core/minerals/config.py +77 -0
  17. gebpy/core/minerals/cyclosilicates.py +0 -0
  18. gebpy/core/minerals/halides.py +0 -0
  19. gebpy/core/minerals/inosilicates.py +0 -0
  20. gebpy/core/minerals/nesosilicates.py +0 -0
  21. gebpy/core/minerals/organics.py +0 -0
  22. gebpy/core/minerals/oxides.py +589 -0
  23. gebpy/core/minerals/phosphates.py +0 -0
  24. gebpy/core/minerals/phospides.py +0 -0
  25. gebpy/core/minerals/phyllosilicates.py +436 -0
  26. gebpy/core/minerals/sorosilicates.py +0 -0
  27. gebpy/core/minerals/sulfates.py +0 -0
  28. gebpy/core/minerals/sulfides.py +459 -0
  29. gebpy/core/minerals/synthesis.py +201 -0
  30. gebpy/core/minerals/tectosilicates.py +433 -0
  31. gebpy/core/physics/__init__.py +0 -0
  32. gebpy/core/physics/common.py +53 -0
  33. gebpy/core/physics/geophysics.py +351 -0
  34. gebpy/core/rocks/__init__.py +0 -0
  35. gebpy/core/rocks/anisotropic_rocks.py +395 -0
  36. gebpy/core/rocks/common.py +95 -0
  37. gebpy/core/rocks/config.py +77 -0
  38. gebpy/core/rocks/isotropic_rocks.py +395 -0
  39. gebpy/core/rocks/sedimentary.py +385 -0
  40. gebpy/core/subsurface/__init__.py +0 -0
  41. gebpy/data_minerals/__init__.py +0 -0
  42. gebpy/data_minerals/albite.yaml +59 -0
  43. gebpy/data_minerals/anatase.yaml +43 -0
  44. gebpy/data_minerals/ankerite.yaml +47 -0
  45. gebpy/data_minerals/annite.yaml +57 -0
  46. gebpy/data_minerals/anorthite.yaml +59 -0
  47. gebpy/data_minerals/antigorite.yaml +53 -0
  48. gebpy/data_minerals/aragonite.yaml +48 -0
  49. gebpy/data_minerals/argutite.yaml +43 -0
  50. gebpy/data_minerals/arsenolite.yaml +40 -0
  51. gebpy/data_minerals/au3oxide.yaml +46 -0
  52. gebpy/data_minerals/avicennite.yaml +40 -0
  53. gebpy/data_minerals/azurite.yaml +53 -0
  54. gebpy/data_minerals/baddeleyite.yaml +49 -0
  55. gebpy/data_minerals/bismite.yaml +49 -0
  56. gebpy/data_minerals/boehmite.yaml +48 -0
  57. gebpy/data_minerals/brookite.yaml +46 -0
  58. gebpy/data_minerals/brucite.yaml +45 -0
  59. gebpy/data_minerals/bunsenite.yaml +40 -0
  60. gebpy/data_minerals/calcite.yaml +45 -0
  61. gebpy/data_minerals/cassiterite.yaml +43 -0
  62. gebpy/data_minerals/cerussite.yaml +48 -0
  63. gebpy/data_minerals/chamosite.yaml +56 -0
  64. gebpy/data_minerals/chlorite.yaml +75 -0
  65. gebpy/data_minerals/chromite.yaml +42 -0
  66. gebpy/data_minerals/chrysotile.yaml +53 -0
  67. gebpy/data_minerals/claudetite.yaml +49 -0
  68. gebpy/data_minerals/clinochlore.yaml +55 -0
  69. gebpy/data_minerals/cochromite.yaml +42 -0
  70. gebpy/data_minerals/corundum.yaml +43 -0
  71. gebpy/data_minerals/crocoite.yaml +51 -0
  72. gebpy/data_minerals/cuprite.yaml +40 -0
  73. gebpy/data_minerals/cuprospinel.yaml +42 -0
  74. gebpy/data_minerals/diaspore.yaml +48 -0
  75. gebpy/data_minerals/dolomite.yaml +47 -0
  76. gebpy/data_minerals/eastonite.yaml +57 -0
  77. gebpy/data_minerals/eskolaite.yaml +43 -0
  78. gebpy/data_minerals/fechlorite.yaml +61 -0
  79. gebpy/data_minerals/fecolumbite.yaml +48 -0
  80. gebpy/data_minerals/ferberite.yaml +51 -0
  81. gebpy/data_minerals/fetantalite.yaml +48 -0
  82. gebpy/data_minerals/franklinite.yaml +42 -0
  83. gebpy/data_minerals/gahnite.yaml +42 -0
  84. gebpy/data_minerals/galaxite.yaml +42 -0
  85. gebpy/data_minerals/geikielite.yaml +45 -0
  86. gebpy/data_minerals/gibbsite.yaml +51 -0
  87. gebpy/data_minerals/glauconite.yaml +69 -0
  88. gebpy/data_minerals/goethite.yaml +48 -0
  89. gebpy/data_minerals/groutite.yaml +48 -0
  90. gebpy/data_minerals/hematite.yaml +43 -0
  91. gebpy/data_minerals/hercynite.yaml +42 -0
  92. gebpy/data_minerals/huebnerite.yaml +51 -0
  93. gebpy/data_minerals/ikaite.yaml +53 -0
  94. gebpy/data_minerals/illite.yaml +55 -0
  95. gebpy/data_minerals/ilmenite.yaml +45 -0
  96. gebpy/data_minerals/jacobsite.yaml +42 -0
  97. gebpy/data_minerals/kalsilite.yaml +47 -0
  98. gebpy/data_minerals/kaolinite.yaml +59 -0
  99. gebpy/data_minerals/karelianite.yaml +43 -0
  100. gebpy/data_minerals/lime.yaml +40 -0
  101. gebpy/data_minerals/litharge.yaml +43 -0
  102. gebpy/data_minerals/magnesiochromite.yaml +42 -0
  103. gebpy/data_minerals/magnesioferrite.yaml +42 -0
  104. gebpy/data_minerals/magnesite.yaml +45 -0
  105. gebpy/data_minerals/magnetite.yaml +41 -0
  106. gebpy/data_minerals/malachite.yaml +53 -0
  107. gebpy/data_minerals/manganite.yaml +51 -0
  108. gebpy/data_minerals/manganochromite.yaml +42 -0
  109. gebpy/data_minerals/manganosite.yaml +40 -0
  110. gebpy/data_minerals/marialite.yaml +49 -0
  111. gebpy/data_minerals/massicot.yaml +46 -0
  112. gebpy/data_minerals/meionite.yaml +49 -0
  113. gebpy/data_minerals/mgchlorite.yaml +61 -0
  114. gebpy/data_minerals/mgcolumbite.yaml +48 -0
  115. gebpy/data_minerals/mgtantalite.yaml +48 -0
  116. gebpy/data_minerals/microcline.yaml +59 -0
  117. gebpy/data_minerals/minium.yaml +44 -0
  118. gebpy/data_minerals/mnchlorite.yaml +61 -0
  119. gebpy/data_minerals/mncolumbite.yaml +48 -0
  120. gebpy/data_minerals/mntantalite.yaml +48 -0
  121. gebpy/data_minerals/monteponite.yaml +40 -0
  122. gebpy/data_minerals/montmorillonite.yaml +77 -0
  123. gebpy/data_minerals/muscovite.yaml +55 -0
  124. gebpy/data_minerals/nanepheline.yaml +47 -0
  125. gebpy/data_minerals/nichlorite.yaml +61 -0
  126. gebpy/data_minerals/nichromite.yaml +42 -0
  127. gebpy/data_minerals/nimite.yaml +55 -0
  128. gebpy/data_minerals/nontronite.yaml +73 -0
  129. gebpy/data_minerals/orthoclase.yaml +53 -0
  130. gebpy/data_minerals/paratellurite.yaml +43 -0
  131. gebpy/data_minerals/pennantite.yaml +61 -0
  132. gebpy/data_minerals/periclase.yaml +40 -0
  133. gebpy/data_minerals/phlogopite.yaml +57 -0
  134. gebpy/data_minerals/plattnerite.yaml +43 -0
  135. gebpy/data_minerals/powellite.yaml +45 -0
  136. gebpy/data_minerals/pyrite.yaml +40 -0
  137. gebpy/data_minerals/pyrolusite.yaml +43 -0
  138. gebpy/data_minerals/pyrophanite.yaml +45 -0
  139. gebpy/data_minerals/pyrophyllite.yaml +59 -0
  140. gebpy/data_minerals/quartz.yaml +43 -0
  141. gebpy/data_minerals/rhodochrosite.yaml +45 -0
  142. gebpy/data_minerals/rutile.yaml +43 -0
  143. gebpy/data_minerals/saponite.yaml +77 -0
  144. gebpy/data_minerals/scheelite.yaml +45 -0
  145. gebpy/data_minerals/scrutinyite.yaml +46 -0
  146. gebpy/data_minerals/senarmontite.yaml +40 -0
  147. gebpy/data_minerals/siderite.yaml +45 -0
  148. gebpy/data_minerals/siderophyllite.yaml +57 -0
  149. gebpy/data_minerals/smithsonite.yaml +45 -0
  150. gebpy/data_minerals/spinel.yaml +42 -0
  151. gebpy/data_minerals/stishovite.yaml +43 -0
  152. gebpy/data_minerals/stolzite.yaml +45 -0
  153. gebpy/data_minerals/talc.yaml +53 -0
  154. gebpy/data_minerals/tistarite.yaml +43 -0
  155. gebpy/data_minerals/trevorite.yaml +42 -0
  156. gebpy/data_minerals/ulvoespinel.yaml +42 -0
  157. gebpy/data_minerals/uraninite.yaml +40 -0
  158. gebpy/data_minerals/valentinite.yaml +46 -0
  159. gebpy/data_minerals/vermiculite.yaml +69 -0
  160. gebpy/data_minerals/wulfenite.yaml +45 -0
  161. gebpy/data_minerals/wustite.yaml +40 -0
  162. gebpy/data_minerals/zincite.yaml +43 -0
  163. gebpy/data_minerals/zincochromite.yaml +42 -0
  164. gebpy/data_rocks/__init__.py +0 -0
  165. gebpy/data_rocks/dolostone.yaml +40 -0
  166. gebpy/data_rocks/limestone.yaml +40 -0
  167. gebpy/data_rocks/marl.yaml +50 -0
  168. gebpy/data_rocks/sandstone.yaml +39 -0
  169. gebpy/data_rocks/shale.yaml +50 -0
  170. gebpy/gebpy_app.py +8732 -0
  171. gebpy/gui/__init__.py +0 -0
  172. gebpy/lib/images/GebPy_Header.png +0 -0
  173. gebpy/lib/images/GebPy_Icon.png +0 -0
  174. gebpy/lib/images/GebPy_Logo.png +0 -0
  175. gebpy/main.py +29 -0
  176. gebpy/modules/__init__.py +0 -0
  177. gebpy/modules/__pycache__/__init__.cpython-310.pyc +0 -0
  178. gebpy/modules/__pycache__/metamorphics.cpython-310.pyc +0 -0
  179. gebpy/modules/__pycache__/silicates.cpython-310.pyc +0 -0
  180. gebpy/modules/carbonates.py +2658 -0
  181. gebpy/modules/chemistry.py +1369 -0
  182. gebpy/modules/core.py +1805 -0
  183. gebpy/modules/elements.py +317 -0
  184. gebpy/modules/evaporites.py +1299 -0
  185. gebpy/modules/exploration.py +1145 -0
  186. gebpy/modules/fluids.py +339 -0
  187. gebpy/modules/geochemistry.py +1727 -0
  188. gebpy/modules/geophysics.py +351 -0
  189. gebpy/modules/gui.py +9093 -0
  190. gebpy/modules/gui_elements.py +145 -0
  191. gebpy/modules/halides.py +485 -0
  192. gebpy/modules/igneous.py +2241 -0
  193. gebpy/modules/metamorphics.py +3222 -0
  194. gebpy/modules/mineralogy.py +442 -0
  195. gebpy/modules/minerals.py +7954 -0
  196. gebpy/modules/ore.py +1648 -0
  197. gebpy/modules/organics.py +530 -0
  198. gebpy/modules/oxides.py +9057 -0
  199. gebpy/modules/petrophysics.py +98 -0
  200. gebpy/modules/phosphates.py +589 -0
  201. gebpy/modules/phospides.py +194 -0
  202. gebpy/modules/plotting.py +619 -0
  203. gebpy/modules/pyllosilicates.py +380 -0
  204. gebpy/modules/sedimentary_rocks.py +908 -0
  205. gebpy/modules/sequences.py +2166 -0
  206. gebpy/modules/series.py +1625 -0
  207. gebpy/modules/silicates.py +11102 -0
  208. gebpy/modules/siliciclastics.py +1846 -0
  209. gebpy/modules/subsurface_2d.py +179 -0
  210. gebpy/modules/sulfates.py +1629 -0
  211. gebpy/modules/sulfides.py +4786 -0
  212. gebpy/plotting/__init__.py +0 -0
  213. gebpy/ui_nb/__init__.py +0 -0
  214. gebpy/user_data/.gitkeep +0 -0
  215. gebpy-1.1.3.dist-info/LICENSE +165 -0
  216. gebpy-1.1.3.dist-info/METADATA +207 -0
  217. gebpy-1.1.3.dist-info/RECORD +254 -0
  218. gebpy-1.1.3.dist-info/WHEEL +5 -0
  219. gebpy-1.1.3.dist-info/entry_points.txt +2 -0
  220. gebpy-1.1.3.dist-info/top_level.txt +1 -0
  221. modules/__init__.py +0 -0
  222. modules/carbonates.py +2658 -0
  223. modules/chemistry.py +1369 -0
  224. modules/core.py +1805 -0
  225. modules/elements.py +317 -0
  226. modules/evaporites.py +1299 -0
  227. modules/exploration.py +765 -0
  228. modules/fluids.py +339 -0
  229. modules/geochemistry.py +1727 -0
  230. modules/geophysics.py +337 -0
  231. modules/gui.py +9093 -0
  232. modules/gui_elements.py +145 -0
  233. modules/halides.py +485 -0
  234. modules/igneous.py +2196 -0
  235. modules/metamorphics.py +2699 -0
  236. modules/mineralogy.py +442 -0
  237. modules/minerals.py +7954 -0
  238. modules/ore.py +1628 -0
  239. modules/organics.py +530 -0
  240. modules/oxides.py +9057 -0
  241. modules/petrophysics.py +98 -0
  242. modules/phosphates.py +589 -0
  243. modules/phospides.py +194 -0
  244. modules/plotting.py +619 -0
  245. modules/pyllosilicates.py +380 -0
  246. modules/sedimentary_rocks.py +908 -0
  247. modules/sequences.py +2166 -0
  248. modules/series.py +1625 -0
  249. modules/silicates.py +11102 -0
  250. modules/siliciclastics.py +1830 -0
  251. modules/subsurface_2d.py +179 -0
  252. modules/sulfates.py +1629 -0
  253. modules/sulfides.py +4786 -0
  254. notebooks/__init__.py +0 -0
@@ -0,0 +1,194 @@
1
+ #!/usr/bin/env python
2
+ # -*-coding: utf-8 -*-
3
+
4
+ # -----------------------------------------------
5
+
6
+ # Name: phospides.py
7
+ # Author: Maximilian A. Beeskow
8
+ # Version: 1.0
9
+ # Date: 20.09.2022
10
+
11
+ # -----------------------------------------------
12
+
13
+ # MODULES
14
+ import numpy as np
15
+ import random as rd
16
+ from modules.chemistry import PeriodicSystem
17
+ from modules.minerals import CrystalPhysics
18
+ from modules.geophysics import WellLog as wg
19
+ from modules.geochemistry import MineralChemistry, TraceElements
20
+
21
+ # OXIDES
22
+ class Phospides:
23
+ """ Class that generates geophysical and geochemical data of phospide minerals"""
24
+ #
25
+ def __init__(self, traces_list=[], impurity="pure", data_type=False, mineral=None):
26
+ self.traces_list = traces_list
27
+ self.impurity = impurity
28
+ self.data_type = data_type
29
+ self.mineral = mineral
30
+ #
31
+ def get_data(self, number=1):
32
+ if self.mineral == "Allabogdanite":
33
+ data = self.create_allabogdanite()
34
+ else:
35
+ data = "Nothing found!"
36
+ #
37
+ return data
38
+ #
39
+ def generate_dataset(self, number):
40
+ dataset = {}
41
+ #
42
+ for index in range(number):
43
+ if self.mineral == "Allabogdanite":
44
+ data_mineral = self.create_allabogdanite()
45
+ #
46
+ for key, value in data_mineral.items():
47
+ if key in ["M", "rho", "rho_e", "V", "vP", "vS", "vP/vS", "K", "G", "E", "nu", "GR", "PE", "U",
48
+ "p"]:
49
+ if key not in dataset:
50
+ dataset[key] = [value]
51
+ else:
52
+ dataset[key].append(value)
53
+ elif key in ["mineral", "state", "trace elements"] and key not in dataset:
54
+ dataset[key] = value
55
+ elif key in ["chemistry"]:
56
+ if key not in dataset:
57
+ dataset[key] = {}
58
+ for key_2, value_2 in value.items():
59
+ dataset[key][key_2] = [value_2]
60
+ else:
61
+ for key_2, value_2 in value.items():
62
+ dataset[key][key_2].append(value_2)
63
+ #
64
+ return dataset
65
+ #
66
+ def create_allabogdanite(self): # (Fe,Ni)2 P
67
+ #
68
+ name = "Abgd"
69
+ #
70
+ # Major elements
71
+ phosphorus = PeriodicSystem(name="P").get_data()
72
+ iron = PeriodicSystem(name="Fe").get_data()
73
+ nickel = PeriodicSystem(name="Ni").get_data()
74
+ majors_name = ["P", "Fe", "Ni"]
75
+ w_Fe = round(rd.uniform(0.25, 0.75), 4)
76
+ majors_data = np.array([["P", phosphorus[1], 1, phosphorus[2]], ["Fe", iron[1], round(2*w_Fe, 4), iron[2]],
77
+ ["Ni", nickel[1], round(2*(1-w_Fe), 4), nickel[2]]], dtype=object)
78
+ # Minor elements
79
+ traces_data = []
80
+ if len(self.traces_list) > 0:
81
+ self.impurity = "impure"
82
+ if self.impurity == "pure":
83
+ var_state = "variable"
84
+ else:
85
+ var_state = "variable"
86
+ if self.impurity == "random":
87
+ self.traces_list = []
88
+ minors = [None]
89
+ n = rd.randint(1, len(minors))
90
+ while len(self.traces_list) < n:
91
+ selection = rd.choice(minors)
92
+ if selection not in self.traces_list and selection not in majors_name:
93
+ self.traces_list.append(selection)
94
+ else:
95
+ continue
96
+ traces = [PeriodicSystem(name=i).get_data() for i in self.traces_list]
97
+ x_traces = [round(rd.uniform(0., 0.001), 6) for i in range(len(self.traces_list))]
98
+ for i in range(len(self.traces_list)):
99
+ traces_data.append([str(self.traces_list[i]), int(traces[i][1]), float(x_traces[i])])
100
+ if len(traces_data) > 0:
101
+ traces_data = np.array(traces_data, dtype=object)
102
+ traces_data = traces_data[traces_data[:, 1].argsort()]
103
+ #
104
+ # Molar mass
105
+ molar_mass_pure = 2*(w_Fe*iron[2] + (1-w_Fe)*nickel[2]) + phosphorus[2]
106
+ molar_mass, amounts = MineralChemistry(w_traces=traces_data, molar_mass_pure=molar_mass_pure,
107
+ majors=majors_data).calculate_molar_mass()
108
+ element = [PeriodicSystem(name=amounts[i][0]).get_data() for i in range(len(amounts))]
109
+ # Density
110
+ dataV_Fe = CrystalPhysics([[5.811, 3.431], [], "hexagonal"])
111
+ V_Fe = dataV_Fe.calculate_volume()
112
+ Z_Fe = 3
113
+ V_m_Fe = MineralChemistry().calculate_molar_volume(volume_cell=V_Fe, z=Z_Fe)
114
+ dataRho_Fe = CrystalPhysics([molar_mass, Z_Fe, V_Fe*10**(6)])
115
+ rho_Fe = dataRho_Fe.calculate_bulk_density()
116
+ rho_e_Fe = wg(amounts=amounts, elements=element, rho_b=rho_Fe).calculate_electron_density()
117
+ #
118
+ dataV_Ni = CrystalPhysics([[5.873, 3.349], [], "hexagonal"])
119
+ V_Ni = dataV_Ni.calculate_volume()
120
+ Z_Ni = 3
121
+ V_m_Ni = MineralChemistry().calculate_molar_volume(volume_cell=V_Ni, z=Z_Ni)
122
+ dataRho_Ni = CrystalPhysics([molar_mass, Z_Ni, V_Ni*10**(6)])
123
+ rho_Ni = dataRho_Ni.calculate_bulk_density()
124
+ rho_e_Ni = wg(amounts=amounts, elements=element, rho_b=rho_Ni).calculate_electron_density()
125
+ #
126
+ V_m = w_Fe*V_m_Fe + (1-w_Fe)*V_m_Ni
127
+ rho = w_Fe*rho_Fe + (1-w_Fe)*rho_Ni
128
+ rho_e = w_Fe*rho_e_Fe + (1-w_Fe)*rho_e_Ni
129
+ # Bulk modulus
130
+ K_Fe = 216*10**9
131
+ K_Ni = 194*10**9
132
+ K = w_Fe*K_Fe + (1-w_Fe)*K_Ni
133
+ # Shear modulus
134
+ G_Fe = 89*10**9
135
+ G_Ni = 42*10**9
136
+ G = w_Fe*G_Fe + (1-w_Fe)*G_Ni
137
+ # Young's modulus
138
+ E = (9*K*G)/(3*K + G)
139
+ # Poisson's ratio
140
+ nu = (3*K - 2*G)/(2*(3*K + G))
141
+ # vP/vS
142
+ vPvS = ((K + 4/3*G)/G)**0.5
143
+ # P-wave velocity
144
+ vP = ((K + 4/3*G)/rho)**0.5
145
+ # S-wave velocity
146
+ vS = (G/rho)**0.5
147
+ # Gamma ray
148
+ gamma_ray = wg(amounts=amounts, elements=element).calculate_gr()
149
+ # Photoelectricity
150
+ pe = wg(amounts=amounts, elements=element).calculate_pe()
151
+ U = pe*rho_e*10**(-3)
152
+ # Electrical resistivity
153
+ p = None
154
+ #
155
+ if self.data_type == False:
156
+ data = []
157
+ data.append(name)
158
+ data.append(round(molar_mass, 3))
159
+ data.append(round(rho, 2))
160
+ data.append([round(K*10**(-9), 2), round(G*10**(-9), 2), round(E*10**(-9), 2), round(nu, 4)])
161
+ data.append([round(vP, 2), round(vS, 2), round(vPvS, 2)])
162
+ data.append([round(gamma_ray, 2), round(pe, 2), round(U, 2), p])
163
+ data.append(amounts)
164
+ #
165
+ return data
166
+ else:
167
+ results = {}
168
+ results["mineral"] = name
169
+ results["state"] = var_state
170
+ results["M"] = molar_mass
171
+ element_list = np.array(amounts)[:, 0]
172
+ results["chemistry"] = {}
173
+ for index, element in enumerate(element_list, start=0):
174
+ results["chemistry"][element] = amounts[index][2]
175
+ results["rho"] = round(rho, 4)
176
+ results["rho_e"] = round(rho_e, 4)
177
+ results["V"] = round(V_m, 4)
178
+ results["vP"] = round(vP, 4)
179
+ results["vS"] = round(vS, 4)
180
+ results["vP/vS"] = round(vPvS, 4)
181
+ results["G"] = round(G*10**(-9), 4)
182
+ results["K"] = round(K*10**(-9), 4)
183
+ results["E"] = round(E*10**(-9), 4)
184
+ results["nu"] = round(nu, 4)
185
+ results["GR"] = round(gamma_ray, 4)
186
+ results["PE"] = round(pe, 4)
187
+ results["U"] = round(U, 4)
188
+ if p != None:
189
+ results["p"] = round(p, 4)
190
+ else:
191
+ results["p"] = p
192
+ #
193
+ return results
194
+ #