TidalPy 0.4.1__tar.gz → 0.5.1__tar.gz

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 (462) hide show
  1. {TidalPy-0.4.1 → TidalPy-0.5.1}/Benchmarks & Performance/Multilayer - Tobie+2005 - Roberts & Nimmo 2008.py +66 -36
  2. TidalPy-0.5.1/Benchmarks & Performance/Performance/performance suite/multilayer_radial_solver.py +180 -0
  3. {TidalPy-0.4.1 → TidalPy-0.5.1}/Benchmarks & Performance/Performance/performance suite/multimode_solver.py +1 -3
  4. {TidalPy-0.4.1 → TidalPy-0.5.1}/Benchmarks & Performance/Performance/performance suite/performance_base.py +1 -1
  5. {TidalPy-0.4.1 → TidalPy-0.5.1}/Benchmarks & Performance/Performance/performance suite/performance_build_world.py +1 -5
  6. {TidalPy-0.4.1 → TidalPy-0.5.1}/Benchmarks & Performance/Performance/performance suite/performance_tides.py +1 -1
  7. {TidalPy-0.4.1 → TidalPy-0.5.1}/Benchmarks & Performance/Performance/performance suite/run_suite.py +1 -1
  8. {TidalPy-0.4.1 → TidalPy-0.5.1}/Documentation/Issues/Issue35/test.py +1 -1
  9. TidalPy-0.5.1/MANIFEST.in +12 -0
  10. {TidalPy-0.4.1/TidalPy.egg-info → TidalPy-0.5.1}/PKG-INFO +128 -141
  11. TidalPy-0.5.1/README.md +201 -0
  12. TidalPy-0.5.1/Tests/Test_Functions/test_rheology.py +166 -0
  13. TidalPy-0.5.1/Tests/Test_Math/test_utilities_complex.py +129 -0
  14. TidalPy-0.5.1/Tests/Test_Math/test_utilities_special.py +17 -0
  15. {TidalPy-0.4.1/Tests → TidalPy-0.5.1/Tests/Test_Old}/Test_SetA_Package/test_a_version.py +0 -2
  16. {TidalPy-0.4.1/Tests → TidalPy-0.5.1/Tests/Test_Old}/Test_SetA_Package/test_io.py +1 -3
  17. TidalPy-0.5.1/Tests/Test_Old/Test_SetA_Package/test_tidalpy_config.py +20 -0
  18. {TidalPy-0.4.1/Tests → TidalPy-0.5.1/Tests/Test_Old}/Test_SetB_Package/test_b_utilities_functools.py +2 -2
  19. {TidalPy-0.4.1/Tests → TidalPy-0.5.1/Tests/Test_Old}/Test_SetB_Package/test_b_utilities_numpy.py +0 -2
  20. {TidalPy-0.4.1/Tests → TidalPy-0.5.1/Tests/Test_Old}/Test_SetB_Package/test_c_tools_conversions.py +2 -4
  21. {TidalPy-0.4.1/Tests → TidalPy-0.5.1/Tests/Test_Old}/Test_SetB_Package/test_c_tools_timing.py +2 -2
  22. {TidalPy-0.4.1/Tests → TidalPy-0.5.1/Tests/Test_Old}/Test_SetB_Package/test_d_basic_classes.py +0 -2
  23. {TidalPy-0.4.1/Tests → TidalPy-0.5.1/Tests/Test_Old}/Test_SetB_Package/test_g_math_special_funcs.py +1 -1
  24. {TidalPy-0.4.1/Tests → TidalPy-0.5.1/Tests/Test_Old}/Test_SetB_Package/test_h_voxel_volume.py +1 -1
  25. {TidalPy-0.4.1/Tests → TidalPy-0.5.1/Tests/Test_Old}/Test_SetB_Package/test_i_spherical_mass.py +1 -1
  26. {TidalPy-0.4.1/Tests → TidalPy-0.5.1/Tests/Test_Old}/Test_SetE_Functional/test_a_performance_funcs.py +1 -1
  27. {TidalPy-0.4.1/Tests → TidalPy-0.5.1/Tests/Test_Old}/Test_SetF_Functional/Test_Dynamics/test_dual_dissipation.py +1 -1
  28. {TidalPy-0.4.1/Tests → TidalPy-0.5.1/Tests/Test_Old}/Test_SetF_Functional/Test_Dynamics/test_single_dissipation.py +1 -1
  29. {TidalPy-0.4.1/Tests → TidalPy-0.5.1/Tests/Test_Old}/Test_SetF_Functional/Test_Rheology/test_compliance_funcs.py +3 -3
  30. {TidalPy-0.4.1/Tests → TidalPy-0.5.1/Tests/Test_Old}/Test_SetF_Functional/Test_Rheology/test_partialmelt_funcs.py +1 -1
  31. {TidalPy-0.4.1/Tests → TidalPy-0.5.1/Tests/Test_Old}/Test_SetF_Functional/Test_Tides/test_a_orbital_funcs.py +1 -3
  32. {TidalPy-0.4.1/Tests → TidalPy-0.5.1/Tests/Test_Old}/Test_SetF_Functional/Test_Tides/test_b_dissipation.py +1 -1
  33. {TidalPy-0.4.1/Tests → TidalPy-0.5.1/Tests/Test_Old}/Test_SetF_Functional/Test_Tides/test_c_mode_manipulation.py +1 -3
  34. {TidalPy-0.4.1/Tests → TidalPy-0.5.1/Tests/Test_Old}/Test_SetH_QuickCalc/test_a_quick_dissipation_calc_single_body.py +22 -20
  35. {TidalPy-0.4.1/Tests → TidalPy-0.5.1/Tests/Test_Old}/Test_SetH_QuickCalc/test_b_quick_dissipation_calc_dual_body.py +3 -3
  36. {TidalPy-0.4.1/Tests → TidalPy-0.5.1/Tests/Test_Old}/Test_SetK_PlanetBuild/test_a_build_star.py +9 -7
  37. {TidalPy-0.4.1/Tests → TidalPy-0.5.1/Tests/Test_Old}/Test_SetK_PlanetBuild/test_b_build_layered.py +13 -10
  38. {TidalPy-0.4.1/Tests → TidalPy-0.5.1/Tests/Test_Old}/Test_SetK_PlanetBuild/test_d_build_burnman_planet.py +33 -13
  39. {TidalPy-0.4.1/Tests/Test_SetL_Orbit → TidalPy-0.5.1/Tests/Test_Old/Test_SetL_Orbit/Test_OrbitClass}/test_a_orbit_construct.py +2 -2
  40. {TidalPy-0.4.1/Tests/Test_SetL_Orbit → TidalPy-0.5.1/Tests/Test_Old/Test_SetL_Orbit/Test_OrbitClass}/test_b_orbit_basic_manipulation.py +3 -3
  41. TidalPy-0.5.1/Tests/Test_Old/Test_SetL_Orbit/test_orbit_averaging.py +227 -0
  42. TidalPy-0.4.1/Tests/Test_SetO_OOP_Calcs/test_rheology.py → TidalPy-0.5.1/Tests/Test_Old/Test_SetO_OOP_Calcs/test_oop_rheology.py +2 -2
  43. {TidalPy-0.4.1/Tests → TidalPy-0.5.1/Tests/Test_Old}/Test_SetO_OOP_Calcs/test_radiogenic.py +2 -2
  44. {TidalPy-0.4.1/Tests → TidalPy-0.5.1/Tests/Test_Old}/Test_SetP_RadialSolver/Test_Matrix/test_a_matrix_package.py +1 -1
  45. {TidalPy-0.4.1/Tests → TidalPy-0.5.1/Tests/Test_Old}/Test_SetP_RadialSolver/Test_Matrix/test_b_fundamental.py +1 -1
  46. {TidalPy-0.4.1/Tests → TidalPy-0.5.1/Tests/Test_Old}/Test_SetP_RadialSolver/Test_Matrix/test_c_propagate.py +1 -1
  47. {TidalPy-0.4.1/Tests → TidalPy-0.5.1/Tests/Test_Old}/Test_SetP_RadialSolver/Test_Numerical/Test_a_Initial/test_a_initial_package.py +1 -1
  48. {TidalPy-0.4.1/Tests → TidalPy-0.5.1/Tests/Test_Old}/Test_SetP_RadialSolver/Test_Numerical/Test_a_Initial/test_b_known_initial_funcs.py +1 -1
  49. {TidalPy-0.4.1/Tests → TidalPy-0.5.1/Tests/Test_Old}/Test_SetP_RadialSolver/Test_Numerical/Test_a_Initial/test_c_initial_helper_funcs.py +1 -1
  50. {TidalPy-0.4.1/Tests → TidalPy-0.5.1/Tests/Test_Old}/Test_SetP_RadialSolver/Test_Numerical/Test_a_Initial/test_d_initial_value_calc.py +15 -20
  51. {TidalPy-0.4.1/Tests → TidalPy-0.5.1/Tests/Test_Old}/Test_SetP_RadialSolver/Test_Numerical/Test_b_Interfaces/test_a_interfaces_package.py +1 -1
  52. {TidalPy-0.4.1/Tests → TidalPy-0.5.1/Tests/Test_Old}/Test_SetP_RadialSolver/Test_Numerical/Test_b_Interfaces/test_b_known_interfaces.py +1 -1
  53. TidalPy-0.5.1/Tests/Test_Old/Test_SetP_RadialSolver/Test_Numerical/Test_b_Interfaces/test_c_interface_funcs.py +72 -0
  54. {TidalPy-0.4.1/Tests → TidalPy-0.5.1/Tests/Test_Old}/Test_SetP_RadialSolver/Test_Numerical/Test_c_Derivatives/test_a_derivatives_package.py +1 -1
  55. {TidalPy-0.4.1/Tests → TidalPy-0.5.1/Tests/Test_Old}/Test_SetP_RadialSolver/Test_Numerical/Test_c_Derivatives/test_b_known_derivatives.py +2 -2
  56. {TidalPy-0.4.1/Tests → TidalPy-0.5.1/Tests/Test_Old}/Test_SetP_RadialSolver/Test_Numerical/Test_c_Derivatives/test_c_derivative_funcs.py +2 -3
  57. {TidalPy-0.4.1/Tests → TidalPy-0.5.1/Tests/Test_Old}/Test_SetP_RadialSolver/Test_Numerical/Test_d_Collapse/test_a_collapse_package.py +1 -1
  58. {TidalPy-0.4.1/Tests → TidalPy-0.5.1/Tests/Test_Old}/Test_SetP_RadialSolver/Test_Numerical/Test_d_Collapse/test_b_surface_condition.py +1 -1
  59. {TidalPy-0.4.1/Tests → TidalPy-0.5.1/Tests/Test_Old}/Test_SetP_RadialSolver/Test_Numerical/Test_d_Collapse/test_c_generalized_collapse.py +2 -2
  60. {TidalPy-0.4.1/Tests → TidalPy-0.5.1/Tests/Test_Old}/Test_SetP_RadialSolver/Test_Numerical/test_a_numerical_package.py +2 -2
  61. {TidalPy-0.4.1/Tests → TidalPy-0.5.1/Tests/Test_Old}/Test_SetP_RadialSolver/Test_Numerical/test_b_radial_solver.py +2 -3
  62. TidalPy-0.4.1/Tests/Test_SetP_RadialSolver/Test_Numerical/test_d_alma_compare.py → TidalPy-0.5.1/Tests/Test_Old/Test_SetP_RadialSolver/Test_Numerical/test_d_alma_compare_old.py +2 -43
  63. {TidalPy-0.4.1/Tests → TidalPy-0.5.1/Tests/Test_Old}/Test_SetP_RadialSolver/test_a_love.py +1 -1
  64. {TidalPy-0.4.1/Tests → TidalPy-0.5.1/Tests/Test_Old}/Test_SetP_RadialSolver/test_b_sensitivity.py +1 -3
  65. {TidalPy-0.4.1/Tests → TidalPy-0.5.1/Tests/Test_Old}/Test_SetP_RadialSolver/test_c_nondimensional.py +1 -1
  66. {TidalPy-0.4.1/Tests → TidalPy-0.5.1/Tests/Test_Old}/Test_SetS_Tides/Test_Collapse_Modes/test_collapse_mode_freqs.py +3 -3
  67. TidalPy-0.5.1/Tests/Test_Old/Test_SetS_Tides/Test_Heating/test_heating.py +22 -0
  68. TidalPy-0.5.1/Tests/Test_Old/Test_SetS_Tides/Test_Unique_Modes/test_unique_freqs.py +155 -0
  69. {TidalPy-0.4.1/Tests → TidalPy-0.5.1/Tests/Test_Old}/Test_SetW_OOP_OrbitTides/test_a_physics_orbit_global_tides.py +3 -3
  70. {TidalPy-0.4.1/Tests → TidalPy-0.5.1/Tests/Test_Old}/Test_SetW_OOP_OrbitTides/test_b_physics_orbit_layered_tides.py +4 -4
  71. {TidalPy-0.4.1/Tests → TidalPy-0.5.1/Tests/Test_Old}/Test_SetW_OOP_OrbitTides/test_c_physics_orbit_dual_body_tides.py +4 -5
  72. {TidalPy-0.4.1/Tests → TidalPy-0.5.1/Tests/Test_Old}/Test_SetX_Potential/test_a_potential.py +2 -2
  73. {TidalPy-0.4.1/Tests → TidalPy-0.5.1/Tests/Test_Old}/Test_SetX_Potential/test_b_mode_potential.py +2 -2
  74. {TidalPy-0.4.1/Tests → TidalPy-0.5.1/Tests/Test_Old}/Test_SetY_MultiLayer/Test_Matrix/test_d_radial_tidal_heating.py +2 -2
  75. {TidalPy-0.4.1/Tests → TidalPy-0.5.1/Tests/Test_Old}/Test_SetY_MultiLayer/Test_Matrix/test_e_strain.py +13 -9
  76. {TidalPy-0.4.1/Tests → TidalPy-0.5.1/Tests/Test_Old}/Test_SetY_MultiLayer/Test_Numerical_Int/test_m1_multilayer_modes.py +2 -2
  77. {TidalPy-0.4.1/Tests → TidalPy-0.5.1/Tests/Test_Old}/Test_SetZA_Multiprocessing/test_multiprocessing.py +1 -1
  78. TidalPy-0.5.1/Tests/Test_RadialSolver/test_a_interfaces.py +167 -0
  79. TidalPy-0.5.1/Tests/Test_RadialSolver/test_a_starting_condtions.py +310 -0
  80. TidalPy-0.5.1/Tests/Test_RadialSolver/test_b_radial_solver_1layer.py +102 -0
  81. TidalPy-0.5.1/Tests/Test_RadialSolver/test_d_alma_compare.py +173 -0
  82. TidalPy-0.5.1/Tests/Test_RadialSolver/test_e_radial_solver_3layer.py +126 -0
  83. TidalPy-0.5.1/Tests/Test_Utilities/Test_Dimensions/test_nondimensional.py +67 -0
  84. TidalPy-0.5.1/Tests/Test_Utilities/Test_Exoplanets/test_exoplanet_download.py +58 -0
  85. TidalPy-0.5.1/TidalPy/Extending/__init__.py +9 -0
  86. TidalPy-0.5.1/TidalPy/Extending/burnman/__init__.py +3 -0
  87. {TidalPy-0.4.1/TidalPy/burnman_interface → TidalPy-0.5.1/TidalPy/Extending/burnman}/build.py +13 -11
  88. TidalPy-0.5.1/TidalPy/Extending/burnman/burnman_defaultc.py +21 -0
  89. TidalPy-0.4.1/TidalPy/structures/layers/burnman.py → TidalPy-0.5.1/TidalPy/Extending/burnman/burnman_layer.py +28 -19
  90. TidalPy-0.4.1/TidalPy/structures/world_types/burnman.py → TidalPy-0.5.1/TidalPy/Extending/burnman/burnman_world.py +15 -17
  91. {TidalPy-0.4.1/TidalPy/burnman_interface → TidalPy-0.5.1/TidalPy/Extending/burnman}/conversion.py +13 -13
  92. TidalPy-0.5.1/TidalPy/Extending/burnman/material/custom/__init__.py +11 -0
  93. {TidalPy-0.4.1/TidalPy/burnman_interface → TidalPy-0.5.1/TidalPy/Extending/burnman}/material/custom/constant.py +96 -96
  94. {TidalPy-0.4.1/TidalPy/burnman_interface → TidalPy-0.5.1/TidalPy/Extending/burnman}/material/custom/ice.py +182 -183
  95. {TidalPy-0.4.1/TidalPy/burnman_interface → TidalPy-0.5.1/TidalPy/Extending/burnman}/material/custom/pyrite.py +29 -29
  96. {TidalPy-0.4.1/TidalPy/burnman_interface → TidalPy-0.5.1/TidalPy/Extending/burnman}/material/helper.py +5 -5
  97. TidalPy-0.5.1/TidalPy/Extending/burnman/package.py +41 -0
  98. TidalPy-0.5.1/TidalPy/RadialSolver/__init__.py +1 -0
  99. TidalPy-0.5.1/TidalPy/RadialSolver/boundaries/boundaries.c +4998 -0
  100. TidalPy-0.5.1/TidalPy/RadialSolver/boundaries/boundaries.pxd +14 -0
  101. TidalPy-0.5.1/TidalPy/RadialSolver/boundaries/boundaries.pyx +126 -0
  102. TidalPy-0.5.1/TidalPy/RadialSolver/collapse/collapse.c +4806 -0
  103. TidalPy-0.5.1/TidalPy/RadialSolver/collapse/collapse.pxd +19 -0
  104. TidalPy-0.5.1/TidalPy/RadialSolver/collapse/collapse.pyx +107 -0
  105. TidalPy-0.5.1/TidalPy/RadialSolver/derivatives/base.c +30326 -0
  106. TidalPy-0.5.1/TidalPy/RadialSolver/derivatives/base.pxd +52 -0
  107. TidalPy-0.5.1/TidalPy/RadialSolver/derivatives/base.pyx +195 -0
  108. TidalPy-0.5.1/TidalPy/RadialSolver/derivatives/odes.c +36443 -0
  109. TidalPy-0.5.1/TidalPy/RadialSolver/derivatives/odes.pxd +58 -0
  110. TidalPy-0.5.1/TidalPy/RadialSolver/derivatives/odes.pyx +885 -0
  111. TidalPy-0.5.1/TidalPy/RadialSolver/interfaces/__init__.py +0 -0
  112. TidalPy-0.5.1/TidalPy/RadialSolver/interfaces/interfaces.c +29074 -0
  113. TidalPy-0.5.1/TidalPy/RadialSolver/interfaces/interfaces.pxd +17 -0
  114. TidalPy-0.5.1/TidalPy/RadialSolver/interfaces/interfaces.pyx +302 -0
  115. TidalPy-0.5.1/TidalPy/RadialSolver/interfaces/reversed.c +4968 -0
  116. TidalPy-0.5.1/TidalPy/RadialSolver/interfaces/reversed.pxd +17 -0
  117. TidalPy-0.5.1/TidalPy/RadialSolver/interfaces/reversed.pyx +179 -0
  118. TidalPy-0.5.1/TidalPy/RadialSolver/love.c +27391 -0
  119. TidalPy-0.5.1/TidalPy/RadialSolver/love.pxd +5 -0
  120. TidalPy-0.5.1/TidalPy/RadialSolver/love.pyx +54 -0
  121. TidalPy-0.5.1/TidalPy/RadialSolver/solutions.c +6455 -0
  122. TidalPy-0.5.1/TidalPy/RadialSolver/solutions.pxd +5 -0
  123. TidalPy-0.5.1/TidalPy/RadialSolver/solutions.pyx +71 -0
  124. TidalPy-0.5.1/TidalPy/RadialSolver/solver.c +42364 -0
  125. TidalPy-0.5.1/TidalPy/RadialSolver/solver.pxd +51 -0
  126. TidalPy-0.5.1/TidalPy/RadialSolver/solver.pyx +1286 -0
  127. TidalPy-0.5.1/TidalPy/RadialSolver/starting/__init__.py +0 -0
  128. TidalPy-0.5.1/TidalPy/RadialSolver/starting/common.c +4854 -0
  129. TidalPy-0.5.1/TidalPy/RadialSolver/starting/common.pxd +12 -0
  130. TidalPy-0.5.1/TidalPy/RadialSolver/starting/common.pyx +155 -0
  131. TidalPy-0.5.1/TidalPy/RadialSolver/starting/driver.c +29075 -0
  132. TidalPy-0.5.1/TidalPy/RadialSolver/starting/driver.pxd +16 -0
  133. TidalPy-0.5.1/TidalPy/RadialSolver/starting/driver.pyx +201 -0
  134. TidalPy-0.5.1/TidalPy/RadialSolver/starting/kamata.c +6058 -0
  135. TidalPy-0.5.1/TidalPy/RadialSolver/starting/kamata.pxd +60 -0
  136. TidalPy-0.5.1/TidalPy/RadialSolver/starting/kamata.pyx +598 -0
  137. TidalPy-0.5.1/TidalPy/RadialSolver/starting/saito.c +4308 -0
  138. TidalPy-0.5.1/TidalPy/RadialSolver/starting/saito.pxd +6 -0
  139. TidalPy-0.5.1/TidalPy/RadialSolver/starting/saito.pyx +50 -0
  140. TidalPy-0.5.1/TidalPy/RadialSolver/starting/takeuchi.c +5649 -0
  141. TidalPy-0.5.1/TidalPy/RadialSolver/starting/takeuchi.pxd +37 -0
  142. TidalPy-0.5.1/TidalPy/RadialSolver/starting/takeuchi.pyx +452 -0
  143. TidalPy-0.5.1/TidalPy/WorldPack/WorldPack.zip +0 -0
  144. TidalPy-0.5.1/TidalPy/__init__.py +34 -0
  145. TidalPy-0.5.1/TidalPy/cache.py +71 -0
  146. TidalPy-0.5.1/TidalPy/configurations.py +203 -0
  147. TidalPy-0.5.1/TidalPy/cooling/__init__.py +19 -0
  148. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/cooling/cooling.py +18 -15
  149. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/cooling/cooling_models.py +15 -10
  150. TidalPy-0.5.1/TidalPy/defaultc.py +444 -0
  151. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/dynamics/dual_dissipation.py +18 -15
  152. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/dynamics/single_dissipation.py +16 -13
  153. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/exceptions.py +3 -0
  154. TidalPy-0.5.1/TidalPy/initialize.py +85 -0
  155. TidalPy-0.5.1/TidalPy/logger.py +143 -0
  156. TidalPy-0.5.1/TidalPy/orbit/__init__.py +1 -0
  157. TidalPy-0.5.1/TidalPy/orbit/averaging.py +318 -0
  158. TidalPy-0.5.1/TidalPy/output.py +38 -0
  159. TidalPy-0.4.1/TidalPy/io_helper.py → TidalPy-0.5.1/TidalPy/paths.py +31 -1
  160. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/radial_solver/__init__.py +1 -1
  161. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/radial_solver/nondimensional.py +13 -10
  162. TidalPy-0.5.1/TidalPy/radial_solver/numerical/__init__.py +1 -0
  163. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/radial_solver/numerical/collapse/surface_condition.py +1 -1
  164. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/radial_solver/numerical/derivatives/radial_derivatives_dynamic.py +15 -33
  165. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/radial_solver/numerical/derivatives/radial_derivatives_dynamic_incomp.py +20 -21
  166. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/radial_solver/numerical/derivatives/radial_derivatives_static.py +16 -14
  167. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/radial_solver/numerical/derivatives/radial_derivatives_static_incomp.py +15 -14
  168. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/radial_solver/numerical/initial/__init__.py +5 -8
  169. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/radial_solver/numerical/initial/functions.py +8 -6
  170. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/radial_solver/numerical/initial/initial_solution_dynamic.py +85 -95
  171. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/radial_solver/numerical/initial/initial_solution_dynamic_incomp.py +47 -54
  172. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/radial_solver/numerical/initial/initial_solution_static.py +65 -73
  173. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/radial_solver/numerical/initial/initial_solution_static_incomp.py +14 -18
  174. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/radial_solver/numerical/interfaces/liquid_liquid.py +44 -45
  175. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/radial_solver/numerical/interfaces/liquid_solid.py +70 -92
  176. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/radial_solver/numerical/interfaces/solid_liquid.py +48 -60
  177. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/radial_solver/numerical/interfaces/solid_solid.py +45 -44
  178. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/radial_solver/numerical/solver.py +14 -7
  179. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/radiogenics/__init__.py +2 -3
  180. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/radiogenics/radiogenic_models.py +3 -3
  181. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/radiogenics/radiogenics.py +20 -18
  182. TidalPy-0.5.1/TidalPy/rheology/__init__.py +14 -0
  183. TidalPy-0.5.1/TidalPy/rheology/base.c +30855 -0
  184. TidalPy-0.5.1/TidalPy/rheology/base.pxd +33 -0
  185. TidalPy-0.5.1/TidalPy/rheology/base.pyx +138 -0
  186. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/rheology/complex_compliance/__init__.py +6 -3
  187. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/rheology/complex_compliance/complex_compliance.py +14 -14
  188. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/rheology/complex_compliance/compliance_models.py +25 -22
  189. TidalPy-0.5.1/TidalPy/rheology/models.c +21680 -0
  190. TidalPy-0.5.1/TidalPy/rheology/models.pxd +36 -0
  191. TidalPy-0.5.1/TidalPy/rheology/models.pyx +281 -0
  192. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/rheology/partial_melt/__init__.py +6 -3
  193. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/rheology/partial_melt/melting_models.py +4 -4
  194. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/rheology/partial_melt/partialmelt.py +19 -18
  195. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/rheology/rheology.py +18 -14
  196. TidalPy-0.5.1/TidalPy/rheology/viscosity/__init__.py +21 -0
  197. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/rheology/viscosity/viscosity.py +12 -14
  198. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/rheology/viscosity/viscosity_models.py +3 -3
  199. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/stellar/insolation.py +18 -13
  200. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/stellar/stellar.py +2 -2
  201. TidalPy-0.5.1/TidalPy/structures/helpers/__init__.py +0 -0
  202. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/structures/helpers/orbit_config.py +4 -2
  203. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/structures/layers/__init__.py +3 -6
  204. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/structures/layers/basic.py +16 -16
  205. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/structures/layers/helper.py +6 -4
  206. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/structures/layers/physics.py +18 -17
  207. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/structures/orbit/base.py +56 -49
  208. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/structures/orbit/physics.py +34 -25
  209. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/structures/physical.py +27 -33
  210. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/structures/world_builder/__init__.py +0 -1
  211. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/structures/world_builder/config_handler.py +9 -17
  212. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/structures/world_builder/iterative_builder.py +6 -2
  213. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/structures/world_builder/world_builder.py +30 -28
  214. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/structures/world_types/__init__.py +7 -9
  215. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/structures/world_types/basic.py +53 -50
  216. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/structures/world_types/gas.py +2 -1
  217. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/structures/world_types/layered.py +27 -25
  218. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/structures/world_types/stellar.py +8 -9
  219. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/structures/world_types/tidal.py +25 -18
  220. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/tides/__init__.py +2 -1
  221. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/tides/ctl_funcs/ctl_funcs.py +7 -3
  222. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/tides/dissipation.py +7 -3
  223. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/tides/eccentricity_funcs/__init__.py +4 -3
  224. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/tides/eccentricity_funcs/orderl2.py +16 -12
  225. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/tides/eccentricity_funcs/orderl3.py +15 -11
  226. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/tides/eccentricity_funcs/orderl4.py +15 -11
  227. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/tides/eccentricity_funcs/orderl5.py +15 -11
  228. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/tides/eccentricity_funcs/orderl6.py +16 -12
  229. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/tides/eccentricity_funcs/orderl7.py +15 -11
  230. TidalPy-0.5.1/TidalPy/tides/heating.py +52 -0
  231. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/tides/inclination_funcs/__init__.py +4 -3
  232. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/tides/inclination_funcs/orderl2.py +7 -3
  233. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/tides/inclination_funcs/orderl3.py +7 -3
  234. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/tides/inclination_funcs/orderl4.py +7 -3
  235. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/tides/inclination_funcs/orderl5.py +7 -3
  236. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/tides/inclination_funcs/orderl6.py +7 -3
  237. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/tides/inclination_funcs/orderl7.py +7 -3
  238. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/tides/love1d.py +15 -10
  239. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/tides/methods/base.py +42 -35
  240. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/tides/methods/global_approx.py +17 -16
  241. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/tides/methods/layered.py +10 -10
  242. TidalPy-0.5.1/TidalPy/tides/modes/__init__.py +1 -0
  243. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/tides/modes/collapse_modes.py +1 -1
  244. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/tides/modes/mode_calc_helper/eccen_calc_orderl2.py +20 -15
  245. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/tides/modes/mode_calc_helper/eccen_calc_orderl3.py +19 -14
  246. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/tides/modes/mode_calc_helper/eccen_calc_orderl4.py +19 -14
  247. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/tides/modes/mode_calc_helper/eccen_calc_orderl5.py +19 -14
  248. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/tides/modes/mode_calc_helper/eccen_calc_orderl6.py +19 -14
  249. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/tides/modes/mode_calc_helper/eccen_calc_orderl7.py +19 -14
  250. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/tides/modes/mode_calc_helper/inclin_calc_orderl2.py +11 -6
  251. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/tides/modes/mode_calc_helper/inclin_calc_orderl3.py +11 -6
  252. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/tides/modes/mode_calc_helper/inclin_calc_orderl4.py +11 -6
  253. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/tides/modes/mode_calc_helper/inclin_calc_orderl5.py +11 -6
  254. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/tides/modes/mode_calc_helper/inclin_calc_orderl6.py +11 -6
  255. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/tides/modes/mode_calc_helper/inclin_calc_orderl7.py +11 -6
  256. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/tides/modes/mode_manipulation.py +20 -16
  257. TidalPy-0.5.1/TidalPy/tides/modes/modes.py +148 -0
  258. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/tides/modes/multilayer_modes.py +27 -34
  259. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/tides/multilayer/displacements.py +8 -6
  260. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/tides/multilayer/heating.py +8 -4
  261. TidalPy-0.5.1/TidalPy/tides/multilayer/stress_strain.py +189 -0
  262. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/tides/potential/__init__.py +7 -5
  263. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/tides/potential/nsr_med_eccen_gen_obliquity.py +16 -9
  264. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/tides/potential/nsr_med_eccen_med_obliquity.py +16 -9
  265. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/tides/potential/nsr_med_eccen_no_obliquity.py +16 -9
  266. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/tides/potential/nsr_modes_low_eccen_gen_obliquity.py +15 -10
  267. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/tides/potential/nsr_modes_med_eccen_gen_obliquity.py +15 -10
  268. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/tides/potential/nsr_modes_med_eccen_med_obliquity.py +15 -10
  269. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/tides/potential/nsr_modes_med_eccen_no_obliquity.py +15 -10
  270. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/tides/potential/synchronous_low_e.py +13 -8
  271. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/tides/universal_coeffs.py +3 -2
  272. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/toolbox/quick_tides.py +61 -63
  273. TidalPy-0.5.1/TidalPy/utilities/__init__.py +0 -0
  274. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/utilities/classes/base.py +1 -1
  275. TidalPy-0.5.1/TidalPy/utilities/classes/base_x.c +9306 -0
  276. TidalPy-0.5.1/TidalPy/utilities/classes/base_x.pxd +5 -0
  277. TidalPy-0.5.1/TidalPy/utilities/classes/base_x.pyx +29 -0
  278. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/utilities/classes/config/config.py +14 -15
  279. TidalPy-0.4.1/TidalPy/utilities/classes/model/functionalUtils.py → TidalPy-0.5.1/TidalPy/utilities/classes/model/functional_utils.py +4 -10
  280. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/utilities/classes/model/model.py +20 -11
  281. TidalPy-0.4.1/TidalPy/utilities/classes/model/modelUtils.py → TidalPy-0.5.1/TidalPy/utilities/classes/model/model_utils.py +2 -2
  282. TidalPy-0.5.1/TidalPy/utilities/constants_x.c +4111 -0
  283. TidalPy-0.5.1/TidalPy/utilities/constants_x.pxd +4 -0
  284. TidalPy-0.5.1/TidalPy/utilities/constants_x.pyx +16 -0
  285. TidalPy-0.5.1/TidalPy/utilities/conversions/__init__.py +4 -0
  286. {TidalPy-0.4.1/TidalPy/toolbox → TidalPy-0.5.1/TidalPy/utilities/conversions}/conversions.py +7 -6
  287. TidalPy-0.5.1/TidalPy/utilities/conversions/conversions_x.c +9172 -0
  288. TidalPy-0.5.1/TidalPy/utilities/conversions/conversions_x.pxd +37 -0
  289. TidalPy-0.5.1/TidalPy/utilities/conversions/conversions_x.pyx +214 -0
  290. {TidalPy-0.4.1/TidalPy/toolbox → TidalPy-0.5.1/TidalPy/utilities/conversions}/timing.py +1 -1
  291. {TidalPy-0.4.1/TidalPy/utilities/classes/config → TidalPy-0.5.1/TidalPy/utilities}/dictionary_utils.py +2 -2
  292. TidalPy-0.5.1/TidalPy/utilities/dimensions/__init__.py +0 -0
  293. TidalPy-0.5.1/TidalPy/utilities/dimensions/nondimensional.c +33897 -0
  294. TidalPy-0.5.1/TidalPy/utilities/dimensions/nondimensional.pxd +36 -0
  295. TidalPy-0.5.1/TidalPy/utilities/dimensions/nondimensional.pyx +228 -0
  296. TidalPy-0.5.1/TidalPy/utilities/exoplanets/__init__.py +1 -0
  297. TidalPy-0.5.1/TidalPy/utilities/exoplanets/data_download.py +135 -0
  298. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/utilities/graphics/global_map.py +70 -54
  299. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/utilities/graphics/grid_plot.py +2 -2
  300. TidalPy-0.5.1/TidalPy/utilities/graphics/multilayer/RN08-Data.csv +52 -0
  301. TidalPy-0.5.1/TidalPy/utilities/graphics/multilayer/T05-Data.csv +1 -0
  302. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/utilities/graphics/multilayer/yplot.py +1 -1
  303. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/utilities/graphics/phasespace_plot.py +1 -1
  304. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/utilities/graphics/planet_plot.py +1 -1
  305. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/utilities/integration/cyrk_helper.py +2 -1
  306. TidalPy-0.5.1/TidalPy/utilities/io/__init__.py +0 -0
  307. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/utilities/io/progress.py +1 -1
  308. TidalPy-0.5.1/TidalPy/utilities/math/__init__.py +0 -0
  309. TidalPy-0.5.1/TidalPy/utilities/math/complex.c +10949 -0
  310. TidalPy-0.5.1/TidalPy/utilities/math/complex.pxd +37 -0
  311. TidalPy-0.5.1/TidalPy/utilities/math/complex.pyx +461 -0
  312. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/utilities/math/special.py +7 -3
  313. TidalPy-0.5.1/TidalPy/utilities/math/special_x.c +7360 -0
  314. TidalPy-0.5.1/TidalPy/utilities/math/special_x.pxd +1 -0
  315. TidalPy-0.5.1/TidalPy/utilities/math/special_x.pyx +76 -0
  316. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/utilities/multiprocessing/multiprocessing.py +4 -3
  317. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/utilities/numpy_helper/array_other.py +8 -5
  318. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/utilities/numpy_helper/array_shape.py +6 -4
  319. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/utilities/performance/__init__.py +1 -1
  320. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/utilities/performance/numba.py +4 -5
  321. TidalPy-0.5.1/TidalPy/utilities/performance/special/__init__.py +1 -0
  322. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/utilities/spherical_helper/mass.py +17 -12
  323. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/utilities/spherical_helper/volume.py +2 -3
  324. TidalPy-0.5.1/TidalPy/utilities/types.py +30 -0
  325. TidalPy-0.5.1/TidalPy/utilities/types_x.c +4225 -0
  326. TidalPy-0.5.1/TidalPy/utilities/types_x.pxd +3 -0
  327. TidalPy-0.5.1/TidalPy/utilities/types_x.pyx +0 -0
  328. {TidalPy-0.4.1 → TidalPy-0.5.1/TidalPy.egg-info}/PKG-INFO +128 -141
  329. TidalPy-0.5.1/TidalPy.egg-info/SOURCES.txt +389 -0
  330. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy.egg-info/requires.txt +18 -17
  331. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy.egg-info/top_level.txt +1 -3
  332. TidalPy-0.5.1/_build_tidalpy.py +81 -0
  333. TidalPy-0.5.1/cython_extensions.json +162 -0
  334. {TidalPy-0.4.1 → TidalPy-0.5.1}/pyproject.toml +50 -34
  335. TidalPy-0.5.1/setup.py +45 -0
  336. TidalPy-0.4.1/Benchmarks & Performance/Performance/performance suite/multilayer_tidal_y.py +0 -103
  337. TidalPy-0.4.1/Derivations/NSR - Potential-Based - Arb Inclin & Eccen - Script.py +0 -559
  338. TidalPy-0.4.1/Derivations/functions/__init__.py +0 -2
  339. TidalPy-0.4.1/Derivations/functions/eccentricity_funcs.py +0 -22
  340. TidalPy-0.4.1/Derivations/functions/general_math.py +0 -67
  341. TidalPy-0.4.1/Derivations/functions/hansen.py +0 -176
  342. TidalPy-0.4.1/Derivations/functions/inclination_funcs.py +0 -60
  343. TidalPy-0.4.1/Derivations/functions/sympy_help.py +0 -163
  344. TidalPy-0.4.1/MANIFEST.in +0 -5
  345. TidalPy-0.4.1/Old - For Reference/integration_dev/integration.py +0 -82
  346. TidalPy-0.4.1/Old - For Reference/integration_dev/integration2.py +0 -134
  347. TidalPy-0.4.1/README.md +0 -245
  348. TidalPy-0.4.1/Tests/Test_SetA_Package/test_tidalpy_config.py +0 -21
  349. TidalPy-0.4.1/Tests/Test_SetP_RadialSolver/Test_Numerical/Test_b_Interfaces/test_c_interface_funcs.py +0 -77
  350. TidalPy-0.4.1/Tests/Test_SetP_RadialSolver/Test_Numerical/test_c_radial_solver_numba.py +0 -120
  351. TidalPy-0.4.1/TidalPy/WorldConfigs/55cnc.json +0 -12
  352. TidalPy-0.4.1/TidalPy/WorldConfigs/55cnce.json +0 -40
  353. TidalPy-0.4.1/TidalPy/WorldConfigs/charon.json +0 -31
  354. TidalPy-0.4.1/TidalPy/WorldConfigs/earth.json +0 -48
  355. TidalPy-0.4.1/TidalPy/WorldConfigs/earth_simple.json +0 -41
  356. TidalPy-0.4.1/TidalPy/WorldConfigs/europa.json +0 -61
  357. TidalPy-0.4.1/TidalPy/WorldConfigs/io.json +0 -51
  358. TidalPy-0.4.1/TidalPy/WorldConfigs/io_simple.json +0 -25
  359. TidalPy-0.4.1/TidalPy/WorldConfigs/jupiter.json +0 -13
  360. TidalPy-0.4.1/TidalPy/WorldConfigs/luna.json +0 -40
  361. TidalPy-0.4.1/TidalPy/WorldConfigs/mercury.json +0 -61
  362. TidalPy-0.4.1/TidalPy/WorldConfigs/neptune.json +0 -13
  363. TidalPy-0.4.1/TidalPy/WorldConfigs/nereid_dev.json +0 -25
  364. TidalPy-0.4.1/TidalPy/WorldConfigs/pluto.json +0 -32
  365. TidalPy-0.4.1/TidalPy/WorldConfigs/sol.json +0 -12
  366. TidalPy-0.4.1/TidalPy/WorldConfigs/trappist1.json +0 -14
  367. TidalPy-0.4.1/TidalPy/WorldConfigs/trappist1b.json +0 -24
  368. TidalPy-0.4.1/TidalPy/WorldConfigs/trappist1c.json +0 -24
  369. TidalPy-0.4.1/TidalPy/WorldConfigs/trappist1d.json +0 -24
  370. TidalPy-0.4.1/TidalPy/WorldConfigs/trappist1e.json +0 -24
  371. TidalPy-0.4.1/TidalPy/WorldConfigs/trappist1f.json +0 -24
  372. TidalPy-0.4.1/TidalPy/WorldConfigs/trappist1g.json +0 -24
  373. TidalPy-0.4.1/TidalPy/WorldConfigs/trappist1h.json +0 -24
  374. TidalPy-0.4.1/TidalPy/WorldConfigs/triton.json +0 -42
  375. TidalPy-0.4.1/TidalPy/WorldConfigs/triton_simple.json +0 -19
  376. TidalPy-0.4.1/TidalPy/__init__.py +0 -59
  377. TidalPy-0.4.1/TidalPy/burnman_interface/__init__.py +0 -9
  378. TidalPy-0.4.1/TidalPy/burnman_interface/material/__init__.py +0 -10
  379. TidalPy-0.4.1/TidalPy/burnman_interface/material/abundance.py +0 -19
  380. TidalPy-0.4.1/TidalPy/burnman_interface/material/custom/__init__.py +0 -26
  381. TidalPy-0.4.1/TidalPy/config_helpers.py +0 -30
  382. TidalPy-0.4.1/TidalPy/configurations.py +0 -58
  383. TidalPy-0.4.1/TidalPy/cooling/__init__.py +0 -14
  384. TidalPy-0.4.1/TidalPy/cooling/defaults.py +0 -18
  385. TidalPy-0.4.1/TidalPy/initialize.py +0 -95
  386. TidalPy-0.4.1/TidalPy/logger.py +0 -146
  387. TidalPy-0.4.1/TidalPy/radial_solver/numerical/__init__.py +0 -2
  388. TidalPy-0.4.1/TidalPy/radial_solver/numerical/solver_numba.py +0 -472
  389. TidalPy-0.4.1/TidalPy/radiogenics/defaults.py +0 -111
  390. TidalPy-0.4.1/TidalPy/rheology/__init__.py +0 -12
  391. TidalPy-0.4.1/TidalPy/rheology/complex_compliance/defaults.py +0 -31
  392. TidalPy-0.4.1/TidalPy/rheology/defaults.py +0 -8
  393. TidalPy-0.4.1/TidalPy/rheology/partial_melt/defaults.py +0 -31
  394. TidalPy-0.4.1/TidalPy/rheology/viscosity/__init__.py +0 -16
  395. TidalPy-0.4.1/TidalPy/rheology/viscosity/defaults.py +0 -50
  396. TidalPy-0.4.1/TidalPy/structures/layers/defaults.py +0 -83
  397. TidalPy-0.4.1/TidalPy/structures/world_types/defaults.py +0 -79
  398. TidalPy-0.4.1/TidalPy/tides/methods/defaults.py +0 -39
  399. TidalPy-0.4.1/TidalPy/tides/modes/multilayer_modes_numba.py +0 -624
  400. TidalPy-0.4.1/TidalPy/tides/multilayer/stress_strain.py +0 -187
  401. TidalPy-0.4.1/TidalPy/utilities/__init__.py +0 -3
  402. TidalPy-0.4.1/TidalPy/utilities/classes/config/json_utils.py +0 -118
  403. TidalPy-0.4.1/TidalPy/utilities/performance/cache.py +0 -33
  404. TidalPy-0.4.1/TidalPy/utilities/types.py +0 -29
  405. TidalPy-0.4.1/TidalPy.egg-info/SOURCES.txt +0 -331
  406. TidalPy-0.4.1/docs/source/conf.py +0 -34
  407. {TidalPy-0.4.1 → TidalPy-0.5.1}/Benchmarks & Performance/Performance/performance suite/performance_complex_compliance_func.py +0 -0
  408. {TidalPy-0.4.1 → TidalPy-0.5.1}/Benchmarks & Performance/Performance/performance suite/performance_eccentricity_func.py +0 -0
  409. {TidalPy-0.4.1 → TidalPy-0.5.1}/Benchmarks & Performance/Performance/performance suite/performance_quick_calcs.py +0 -0
  410. {TidalPy-0.4.1 → TidalPy-0.5.1}/Documentation/Issues/Issue35/subproc.py +0 -0
  411. {TidalPy-0.4.1 → TidalPy-0.5.1}/LICENSE.md +0 -0
  412. {TidalPy-0.4.1/TidalPy/burnman_interface → TidalPy-0.5.1/TidalPy/Extending/burnman}/defaults.py +0 -0
  413. {TidalPy-0.4.1/TidalPy/structures/helpers → TidalPy-0.5.1/TidalPy/Extending/burnman/material}/__init__.py +0 -0
  414. {TidalPy-0.4.1/TidalPy/tides/modes → TidalPy-0.5.1/TidalPy/RadialSolver/boundaries}/__init__.py +0 -0
  415. {TidalPy-0.4.1/TidalPy/utilities/io → TidalPy-0.5.1/TidalPy/RadialSolver/collapse}/__init__.py +0 -0
  416. {TidalPy-0.4.1/TidalPy/utilities/math → TidalPy-0.5.1/TidalPy/RadialSolver/derivatives}/__init__.py +0 -0
  417. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/constants.py +0 -0
  418. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/dynamics/__init__.py +0 -0
  419. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/numba_scipy/__init__.py +0 -0
  420. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/numba_scipy/special/__init__.py +0 -0
  421. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/numba_scipy/special/overloads.py +0 -0
  422. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/numba_scipy/special/signatures.py +0 -0
  423. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/radial_solver/love.py +0 -0
  424. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/radial_solver/matrix/__init__.py +0 -0
  425. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/radial_solver/matrix/fundamental_solid.py +0 -0
  426. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/radial_solver/matrix/propagate.py +0 -0
  427. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/radial_solver/numerical/collapse/__init__.py +0 -0
  428. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/radial_solver/numerical/collapse/generalized_collapse.py +0 -0
  429. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/radial_solver/numerical/derivatives/__init__.py +0 -0
  430. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/radial_solver/numerical/derivatives/odes.py +0 -0
  431. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/radial_solver/numerical/interfaces/__init__.py +0 -0
  432. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/radial_solver/sensitivity.py +0 -0
  433. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/stellar/__init__.py +0 -0
  434. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/stellar/habitability.py +0 -0
  435. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/structures/__init__.py +0 -0
  436. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/structures/layers/gas.py +0 -0
  437. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/structures/orbit/__init__.py +0 -0
  438. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/tides/ctl_funcs/__init__.py +0 -0
  439. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/tides/methods/__init__.py +0 -0
  440. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/tides/modes/mode_calc_helper/__init__.py +0 -0
  441. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/tides/multilayer/__init__.py +0 -0
  442. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/toolbox/__init__.py +0 -0
  443. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/utilities/classes/__init__.py +0 -0
  444. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/utilities/classes/config/__init__.py +0 -0
  445. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/utilities/classes/model/__init__.py +0 -0
  446. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/utilities/graphics/__init__.py +0 -0
  447. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/utilities/graphics/multilayer/__init__.py +0 -0
  448. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/utilities/integration/__init__.py +0 -0
  449. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/utilities/integration/julia_helper.py +0 -0
  450. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/utilities/integration/numbalsoda_helper.py +0 -0
  451. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/utilities/integration/scipy_helper.py +0 -0
  452. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/utilities/io/pathing.py +0 -0
  453. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/utilities/multiprocessing/__init__.py +0 -0
  454. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/utilities/numpy_helper/__init__.py +0 -0
  455. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/utilities/performance/memory.py +0 -0
  456. /TidalPy-0.4.1/TidalPy/utilities/performance/special.py → /TidalPy-0.5.1/TidalPy/utilities/performance/special/factorial.py +0 -0
  457. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/utilities/spherical_helper/__init__.py +0 -0
  458. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/utilities/string_helper/__init__.py +0 -0
  459. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/utilities/string_helper/string_helper.py +0 -0
  460. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy.egg-info/dependency_links.txt +0 -0
  461. {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy.egg-info/entry_points.txt +0 -0
  462. {TidalPy-0.4.1 → TidalPy-0.5.1}/setup.cfg +0 -0
@@ -9,18 +9,18 @@ TMS05 : Tobie+ (2005; Icarus; DOI: 10.1016/j.icarus.2005.04.006)
9
9
  import numpy as np
10
10
  import time
11
11
  from TidalPy.constants import G
12
- from TidalPy.toolbox.conversions import orbital_motion2semi_a
13
- from TidalPy.rheology.complex_compliance.compliance_models import maxwell
12
+ from TidalPy.utilities.conversions import orbital_motion2semi_a
13
+ from TidalPy.rheology import Maxwell
14
14
 
15
15
  # Load TidalPy's multilayer functions
16
- from tides.multilayer.numerical_int import radial_solver
17
- from tides.multilayer.matrix import fundamental_matrix_orderl2, propagate
16
+ from TidalPy.RadialSolver import radial_solver
17
+ from TidalPy.radial_solver.matrix import fundamental_matrix_orderl2, matrix_propagate
18
18
  from TidalPy.utilities.graphics.multilayer import yplot
19
19
 
20
20
  # Switches
21
21
  show_shooting_method_technique = True
22
22
  show_propagation_matrix_technique = True
23
- use_static_liquid_core = False
23
+ use_static_liquid_core = True
24
24
  nondimensionalize_during_integration = True
25
25
  use_kamata_starting_values = True
26
26
  # Set the following two switches to true for comparison to Roberts and Nimmo.
@@ -29,14 +29,13 @@ use_fake_incompressible_limit = False
29
29
  use_real_incompressible_limit = False
30
30
 
31
31
  # Integration properties
32
- integrator = 'scipy'
33
32
  integration_method = 'RK45'
34
33
  r_tol = 1.e-8
35
34
  a_tol = 1.e-10
36
35
 
37
36
  # Plot switches
38
37
  plot_tobie = True
39
- plot_roberts = False
38
+ plot_roberts = True
40
39
 
41
40
  # Planet Structure
42
41
  R_planet = 1600.e3
@@ -52,8 +51,8 @@ viscosity_core = 1.e13 / 1.e9
52
51
  shear_core = 0.
53
52
 
54
53
  if use_fake_incompressible_limit:
55
- bulk_mantle = 1.e15
56
- bulk_core = 1.e15
54
+ bulk_mantle = 1.e14
55
+ bulk_core = 1.e14
57
56
  else:
58
57
  bulk_mantle = 1.2210e11
59
58
  bulk_core = 2.88e11
@@ -63,16 +62,17 @@ planet_mass = 1.08e20
63
62
  host_mass = 5.683e26
64
63
  eccentricity = 0.0045
65
64
  orbital_freq_HZ = 2. * np.pi * 5.308e-5 # This is reported in Hz in RN08. We will need to convert them to rad s-1
66
- orbital_freq_TB_match = 2. * np.pi / (86400. * 1.0)
65
+ #orbital_freq_TB_match = 2. * np.pi / (86400. * 1.0)
66
+ #orbital_freq_TB_match = 2. * np.pi / (86400. * 0.1)
67
67
  freq_europa = 2.04793e-05
68
68
  freq_titan = 4.55938e-06
69
69
 
70
- orbital_freq = orbital_freq_TB_match
70
+ orbital_freq = orbital_freq_HZ
71
71
  semi_major_axis = orbital_motion2semi_a(orbital_freq, host_mass, planet_mass)
72
72
 
73
73
  # Setup homogeneous domain
74
74
  N = 100
75
- radius_array = np.linspace(1., R_planet, N)
75
+ radius_array = np.linspace(0.1, R_planet, N)
76
76
  volume_array = np.zeros_like(radius_array)
77
77
  volume_array[0] = (4. / 3.) * np.pi * radius_array[0]**3
78
78
  volume_array[1:] = (4. / 3.) * np.pi * (radius_array[1:]**3 - radius_array[:-1]**3)
@@ -101,7 +101,8 @@ for model_name, (core_density, mantle_density) in models.items():
101
101
 
102
102
  # Set the density for each layer
103
103
  density_array = mantle_density * np.ones_like(radius_array)
104
- mantle_radii = np.ones_like(radius_array, dtype=np.bool)
104
+ mantle_radii = np.ones_like(radius_array, dtype=np.bool_)
105
+ core_radii = None
105
106
  if R_core is not None:
106
107
  core_radii = radius_array <= R_core
107
108
  mantle_radii = radius_array > R_core
@@ -128,8 +129,9 @@ for model_name, (core_density, mantle_density) in models.items():
128
129
  bulk_array[core_radii] = bulk_core
129
130
 
130
131
  # Use the Maxwell rheology
131
- complex_compliance_array = maxwell(orbital_freq, shear_array**(-1), viscosity_array)
132
- complex_shear_array = complex_compliance_array**(-1)
132
+ rheology_inst = Maxwell()
133
+ complex_shear_array = np.zeros(shear_array.size, dtype=np.complex128)
134
+ rheology_inst.vectorize_modulus_viscosity(orbital_freq, shear_array, viscosity_array, complex_shear_array)
133
135
 
134
136
  if show_propagation_matrix_technique:
135
137
  print('Solving with propagation matrix...')
@@ -154,7 +156,7 @@ for model_name, (core_density, mantle_density) in models.items():
154
156
  central_boundary_condition[5, 2] = 1.
155
157
 
156
158
  tidal_y_prop = \
157
- propagate(Y, Y_inv, derivative_mtx, central_boundary_condition, R_planet, order_l=2)
159
+ matrix_propagate(Y, Y_inv, derivative_mtx, central_boundary_condition, R_planet, order_l=2)
158
160
 
159
161
  model_radii.append(radius_used)
160
162
  model_names.append(model_name + '-PropMtx')
@@ -166,34 +168,62 @@ for model_name, (core_density, mantle_density) in models.items():
166
168
  print('Solving with shooting method...')
167
169
  if R_core is None:
168
170
  # Use homogeneous method
169
- tidal_y_shoot = \
171
+ radial_solution = \
170
172
  radial_solver(
171
- radius_array, shear_array, bulk_array, density_array, gravity_array,
172
- orbital_freq, planet_bulk_density, is_solid_by_layer=[True],
173
- is_static_by_layer=[use_static_mantle],
174
- indices_by_layer=[mantle_radii], order_l=2, surface_boundary_condition=None,
175
- solve_load_numbers=False, use_kamata=use_kamata_starting_values,
176
- integrator=integrator,
173
+ radius_array,
174
+ density_array,
175
+ gravity_array,
176
+ bulk_array,
177
+ complex_shear_array,
178
+ orbital_freq,
179
+ planet_bulk_density,
180
+ layer_types=('solid',),
181
+ is_static_by_layer=(use_static_mantle,),
182
+ is_incompressible_by_layer=(use_real_incompressible_limit,),
183
+ upper_radius_by_layer=(R_planet,),
184
+ degree_l=2,
185
+ solve_for=('tidal',),
186
+ use_kamata=use_kamata_starting_values,
177
187
  integration_method=integration_method,
178
- integration_rtol=r_tol, integration_atol=a_tol,
179
- verbose=False, nondimensionalize=nondimensionalize_during_integration,
180
- incompressible=use_real_incompressible_limit
188
+ integration_rtol=r_tol,
189
+ integration_atol=a_tol,
190
+ scale_rtols_by_layer_type=False,
191
+ max_num_steps=5_000_000,
192
+ max_ram_MB=2_000,
193
+ nondimensionalize=nondimensionalize_during_integration
181
194
  )
195
+ if not radial_solution.success:
196
+ raise AssertionError(radial_solution.message)
197
+ tidal_y_shoot = np.copy(radial_solution.result)
182
198
  else:
183
199
  # Use liquid-solid method
184
- tidal_y_shoot = \
200
+ radial_solution = \
185
201
  radial_solver(
186
- radius_array, shear_array, bulk_array, density_array, gravity_array,
187
- orbital_freq, planet_bulk_density, is_solid_by_layer=[False, True],
188
- is_static_by_layer=[use_static_liquid_core, use_static_mantle],
189
- indices_by_layer=[core_radii, mantle_radii], order_l=2, surface_boundary_condition=None,
190
- solve_load_numbers=False, use_kamata=use_kamata_starting_values,
191
- integrator=integrator,
202
+ radius_array,
203
+ density_array,
204
+ gravity_array,
205
+ bulk_array,
206
+ complex_shear_array,
207
+ orbital_freq,
208
+ planet_bulk_density,
209
+ layer_types=('liquid', 'solid'),
210
+ is_static_by_layer=(use_static_liquid_core, use_static_mantle),
211
+ is_incompressible_by_layer=(use_real_incompressible_limit, use_real_incompressible_limit),
212
+ upper_radius_by_layer=(R_core, R_planet),
213
+ degree_l=2,
214
+ solve_for=('tidal',),
215
+ use_kamata=use_kamata_starting_values,
192
216
  integration_method=integration_method,
193
- integration_rtol=r_tol, integration_atol=a_tol,
194
- verbose=False, nondimensionalize=nondimensionalize_during_integration,
195
- incompressible=use_real_incompressible_limit
217
+ integration_rtol=r_tol,
218
+ integration_atol=a_tol,
219
+ scale_rtols_by_layer_type=False,
220
+ max_num_steps=5_000_000,
221
+ max_ram_MB=2_000,
222
+ nondimensionalize=nondimensionalize_during_integration
196
223
  )
224
+ if not radial_solution.success:
225
+ raise AssertionError(radial_solution.message)
226
+ tidal_y_shoot = np.copy(radial_solution.result)
197
227
 
198
228
  model_radii.append(radius_array)
199
229
  model_names.append(model_name + '-Shooting')
@@ -0,0 +1,180 @@
1
+ import numpy as np
2
+
3
+ from performance_base import PerformanceTrackBase
4
+
5
+ import TidalPy
6
+ TidalPy.config['stream_level'] = 'WARNING'
7
+ TidalPy.reinit()
8
+ from TidalPy.radial_solver import radial_solver
9
+ from TidalPy.rheology.complex_compliance.compliance_models import maxwell
10
+ from TidalPy.utilities.spherical_helper.mass import calculate_mass_gravity_arrays
11
+
12
+
13
+ class TidalYPerformance(PerformanceTrackBase):
14
+
15
+ def __init__(self):
16
+ # Setup constant geometry
17
+ self.R = 6378.1e3
18
+ self.N = 14
19
+ self.radius = np.linspace(0.01e3, self.R, self.N)
20
+ self.layer_radius = []
21
+ self.planet_volume = (4. / 3.) * np.pi * self.R**3
22
+ self.planet_bulk_density = None
23
+ self.frequency = np.pi * 2 / (86400. * 10.)
24
+
25
+ # Define constants
26
+ self.liquid_density = 1000.
27
+ self.solid_density = 3500.
28
+ self.iron_density = 8000.
29
+ self.solid_viscosity = 1.0e20
30
+ self.liquid_viscosity = 1_000.
31
+ self.solid_shear = 50.e9
32
+ self.liquid_shear = 0.
33
+ self.solid_bulk = 200.0e9
34
+ self.liquid_bulk = 100.0e9
35
+
36
+ # Build empty arrays
37
+ self.volumes = np.empty_like(self.radius)
38
+ self.masses = np.empty_like(self.radius)
39
+ self.shear = np.empty_like(self.radius)
40
+ self.viscosity = np.empty_like(self.radius)
41
+ self.bulk = np.empty_like(self.radius)
42
+ self.gravity = np.empty_like(self.radius)
43
+ self.density = np.empty_like(self.radius)
44
+ self.complex_shear = np.empty_like(self.radius)
45
+
46
+ # Define layer flags as empty lists
47
+ self.layers_are_solid = []
48
+ self.layers_are_static = []
49
+ self.layer_indices = []
50
+
51
+ # Inputs to radial_solver
52
+ self.radial_solver_args = tuple()
53
+ self.radial_solver_kwargs = {
54
+ 'order_l': 2,
55
+ 'surface_boundary_condition': None,
56
+ 'solve_load_numbers': False,
57
+ 'use_kamata': False,
58
+ 'integrator': 'numba',
59
+ 'integration_method': 'RK45',
60
+ 'integration_rtol': 1.0e-8,
61
+ 'integration_atol': 1.e-9,
62
+ 'verbose': False,
63
+ 'nondimensionalize': True,
64
+ 'incompressible': False
65
+ }
66
+
67
+ super().__init__()
68
+
69
+ def build_world(self):
70
+
71
+ self.planet_bulk_density = 0.
72
+ # Reset layer indices
73
+ self.layer_indices = []
74
+ last_layer_r = 0.
75
+ num_layers = len(self.layer_radius)
76
+ # Find Index
77
+ for layer_i, layer_r in enumerate(self.layer_radius):
78
+ if layer_i == 0:
79
+ index = self.radius <= layer_r
80
+ layer_volume = (4. / 3.) * np.pi * layer_r**3
81
+ elif layer_i == num_layers - 1:
82
+ index = self.radius > last_layer_r
83
+ layer_volume = (4. / 3.) * np.pi * (layer_r**3 - last_layer_r**3)
84
+ else:
85
+ index = np.logical_and(self.radius > last_layer_r, self.radius <= layer_r)
86
+ layer_volume = (4. / 3.) * np.pi * (layer_r**3 - last_layer_r**3)
87
+
88
+ # Build density array
89
+ is_solid = self.layers_are_solid[layer_i]
90
+ if is_solid:
91
+ self.viscosity[index] = self.solid_viscosity
92
+ self.shear[index] = self.solid_shear
93
+ self.bulk[index] = self.solid_bulk
94
+ if layer_i == 0:
95
+ self.density[index] = self.iron_density
96
+ else:
97
+ self.density[index] = self.solid_density
98
+ else:
99
+ self.viscosity[index] = self.liquid_viscosity
100
+ self.shear[index] = self.liquid_shear
101
+ self.bulk[index] = self.liquid_bulk
102
+ self.density[index] = self.liquid_density
103
+
104
+ # Add to global bulk density
105
+ self.planet_bulk_density += self.density[index][0] * (layer_volume / self.planet_volume)
106
+
107
+ self.layer_indices.append(index)
108
+ last_layer_r = layer_r
109
+
110
+ # Determine gravity from density
111
+ self.volumes, self.masses, self.gravity = \
112
+ calculate_mass_gravity_arrays(self.radius, self.density)
113
+
114
+ # Determine complex shear
115
+ self.complex_shear = maxwell(self.frequency, self.shear**(-1), self.viscosity)**(-1)
116
+
117
+ # Call input builder
118
+ self.build_args()
119
+
120
+ def build_args(self):
121
+ arg_list = [
122
+ self.radius, self.complex_shear, self.bulk,
123
+ self.density, self.gravity, self.frequency, self.planet_bulk_density,
124
+ self.layers_are_solid, self.layers_are_static, self.layer_indices
125
+ ]
126
+ self.radial_solver_args = tuple(arg_list)
127
+
128
+ def run_perform_tidal_y_homogen_solid_static(self):
129
+
130
+ self.layers_are_solid = [True]
131
+ self.layers_are_static = [True]
132
+ self.layer_radius = [self.R]
133
+ self.build_world()
134
+
135
+ self.record_performance('Tidal-y Calc - Homogen-Solid - Static - Numba-RK45', radial_solver,
136
+ inputs=self.radial_solver_args, kwargs=self.radial_solver_kwargs, repeats=3, number=10)
137
+
138
+ def run_perform_tidal_y_homogen_solid_dynamic(self):
139
+
140
+ self.layers_are_solid = [True]
141
+ self.layers_are_static = [False]
142
+ self.layer_radius = [self.R]
143
+ self.build_world()
144
+
145
+ self.record_performance('Tidal-y Calc - Homogen-Solid - Dynamic - Numba-RK45', radial_solver,
146
+ inputs=self.radial_solver_args, kwargs=self.radial_solver_kwargs, repeats=3, number=10)
147
+
148
+ def run_perform_tidal_y_liquid_solid_allstatic(self):
149
+
150
+ self.layers_are_solid = [False, True]
151
+ self.layers_are_static = [True, True]
152
+ self.layer_radius = [3483.e3, self.R]
153
+ self.build_world()
154
+
155
+ self.record_performance('Tidal-y Calc - Liquid-Solid - Static-Static - Numba-RK45', radial_solver,
156
+ inputs=self.radial_solver_args, kwargs=self.radial_solver_kwargs, repeats=3, number=10)
157
+
158
+ def run_perform_tidal_y_liquid_solid_dynamicsolid(self):
159
+
160
+ self.layers_are_solid = [False, True]
161
+ self.layers_are_static = [True, False]
162
+ self.layer_radius = [3483.e3, self.R]
163
+ self.build_world()
164
+
165
+ self.record_performance('Tidal-y Calc - Liquid-Solid - Static-Dynamic - Numba-RK45', radial_solver,
166
+ inputs=self.radial_solver_args, kwargs=self.radial_solver_kwargs, repeats=3, number=10)
167
+
168
+ def run_perform_tidal_y_solid_liquid_solid_dynamicsolid(self):
169
+
170
+ self.layers_are_solid = [True, False, True]
171
+ self.layers_are_static = [False, True, False]
172
+ self.layer_radius = [self.R * (1. / 3.), self.R * (2./ 3.), self.R]
173
+ self.build_world()
174
+
175
+ self.record_performance('Tidal-y Calc - Solid-Liquid-Solid - Dynamic-Static-Dynamic - Numba-RK45', radial_solver,
176
+ inputs=self.radial_solver_args, kwargs=self.radial_solver_kwargs, repeats=3, number=10)
177
+
178
+
179
+ if __name__ == '__main__':
180
+ performance_tracker = TidalYPerformance()
@@ -1,5 +1,3 @@
1
- from functools import partial
2
-
3
1
  import numpy as np
4
2
 
5
3
  from performance_base import PerformanceTrackBase
@@ -12,7 +10,7 @@ from TidalPy.tides.modes.multilayer_modes_numba import collapse_multilayer_modes
12
10
  from TidalPy.rheology.complex_compliance.compliance_models import maxwell
13
11
  from TidalPy.utilities.spherical_helper.volume import calculate_voxel_volumes
14
12
  from TidalPy.utilities.spherical_helper.mass import calculate_mass_gravity_arrays
15
- from TidalPy.toolbox.conversions import orbital_motion2semi_a
13
+ from TidalPy.utilities.conversions import orbital_motion2semi_a
16
14
 
17
15
  radius = np.linspace(0.01e3, 6378.1e3, 15)
18
16
  layer_0 = radius <= 3483.e3
@@ -10,7 +10,7 @@ import numpy as np
10
10
  import pandas as pd
11
11
 
12
12
  from TidalPy import version as tpy_version
13
- from TidalPy.toolbox.timing import convert_to_hms
13
+ from TidalPy.utilities.conversions.timing import convert_to_hms
14
14
 
15
15
  PERFORMANCE_DIR = pathlib.Path(__file__).absolute()
16
16
 
@@ -3,7 +3,7 @@ import TidalPy
3
3
  TidalPy.config['stream_level'] = 'WARNING'
4
4
  TidalPy.reinit()
5
5
 
6
- from TidalPy import build_world, build_from_world, Orbit
6
+ from TidalPy.structures import build_world, build_from_world, Orbit
7
7
 
8
8
 
9
9
  from performance_base import PerformanceTrackBase
@@ -18,10 +18,6 @@ class BuildWorldPerformance(PerformanceTrackBase):
18
18
  self.record_performance('Build World - Layered', build_world,
19
19
  inputs=('io_simple',), repeats=3, number=10)
20
20
 
21
- def run_perform_build_burnman(self):
22
- self.record_performance('Build World - Burnman', build_world,
23
- inputs=('earth',), repeats=3, number=10)
24
-
25
21
 
26
22
  if __name__ == '__main__':
27
23
  performance_tracker = BuildWorldPerformance()
@@ -3,7 +3,7 @@ import TidalPy
3
3
  TidalPy.config['stream_level'] = 'WARNING'
4
4
  TidalPy.reinit()
5
5
 
6
- from TidalPy import build_world, build_from_world, Orbit
6
+ from TidalPy.structures import build_world, build_from_world, Orbit
7
7
 
8
8
  from performance_base import PerformanceTrackBase
9
9
 
@@ -3,7 +3,7 @@ from performance_complex_compliance_func import ComplexCompliancePerformance
3
3
  from performance_eccentricity_func import EccentricityFuncPerformance
4
4
  from performance_tides import TideCalcPerformance
5
5
  from performance_quick_calcs import QuickCalcPerformance
6
- from multilayer_tidal_y import TidalYPerformance
6
+ from multilayer_radial_solver import TidalYPerformance
7
7
  from multimode_solver import MultilayerModeNumbaPerformance, MultilayerModePerformance
8
8
 
9
9
  if __name__ == '__main__':
@@ -5,7 +5,7 @@ print(version)
5
5
  import numpy as np
6
6
  import pandas as pd
7
7
 
8
- from TidalPy.toolbox.conversions import days2rads
8
+ from TidalPy.utilities.conversions import days2rads
9
9
  from TidalPy.rheology.complex_compliance.compliance_models import andrade
10
10
  from tides.multilayer.numerical_int import radial_solver
11
11
  from TidalPy.utilities.graphics.multilayer import yplot
@@ -0,0 +1,12 @@
1
+ # MANIFEST.in
2
+
3
+ # Include data files used for plotting and benchmarking
4
+ include TidalPy/utilities/graphics/multilayer/*.csv
5
+
6
+ # Include World Configuration Files
7
+ include TidalPy/WorldPack/*.zip
8
+
9
+ # Include Cython pyx and pxd files
10
+ global-include *.pxd
11
+ global-include *.pyx
12
+ include cython_extensions.json