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.
- {TidalPy-0.4.1 → TidalPy-0.5.1}/Benchmarks & Performance/Multilayer - Tobie+2005 - Roberts & Nimmo 2008.py +66 -36
- TidalPy-0.5.1/Benchmarks & Performance/Performance/performance suite/multilayer_radial_solver.py +180 -0
- {TidalPy-0.4.1 → TidalPy-0.5.1}/Benchmarks & Performance/Performance/performance suite/multimode_solver.py +1 -3
- {TidalPy-0.4.1 → TidalPy-0.5.1}/Benchmarks & Performance/Performance/performance suite/performance_base.py +1 -1
- {TidalPy-0.4.1 → TidalPy-0.5.1}/Benchmarks & Performance/Performance/performance suite/performance_build_world.py +1 -5
- {TidalPy-0.4.1 → TidalPy-0.5.1}/Benchmarks & Performance/Performance/performance suite/performance_tides.py +1 -1
- {TidalPy-0.4.1 → TidalPy-0.5.1}/Benchmarks & Performance/Performance/performance suite/run_suite.py +1 -1
- {TidalPy-0.4.1 → TidalPy-0.5.1}/Documentation/Issues/Issue35/test.py +1 -1
- TidalPy-0.5.1/MANIFEST.in +12 -0
- {TidalPy-0.4.1/TidalPy.egg-info → TidalPy-0.5.1}/PKG-INFO +128 -141
- TidalPy-0.5.1/README.md +201 -0
- TidalPy-0.5.1/Tests/Test_Functions/test_rheology.py +166 -0
- TidalPy-0.5.1/Tests/Test_Math/test_utilities_complex.py +129 -0
- TidalPy-0.5.1/Tests/Test_Math/test_utilities_special.py +17 -0
- {TidalPy-0.4.1/Tests → TidalPy-0.5.1/Tests/Test_Old}/Test_SetA_Package/test_a_version.py +0 -2
- {TidalPy-0.4.1/Tests → TidalPy-0.5.1/Tests/Test_Old}/Test_SetA_Package/test_io.py +1 -3
- TidalPy-0.5.1/Tests/Test_Old/Test_SetA_Package/test_tidalpy_config.py +20 -0
- {TidalPy-0.4.1/Tests → TidalPy-0.5.1/Tests/Test_Old}/Test_SetB_Package/test_b_utilities_functools.py +2 -2
- {TidalPy-0.4.1/Tests → TidalPy-0.5.1/Tests/Test_Old}/Test_SetB_Package/test_b_utilities_numpy.py +0 -2
- {TidalPy-0.4.1/Tests → TidalPy-0.5.1/Tests/Test_Old}/Test_SetB_Package/test_c_tools_conversions.py +2 -4
- {TidalPy-0.4.1/Tests → TidalPy-0.5.1/Tests/Test_Old}/Test_SetB_Package/test_c_tools_timing.py +2 -2
- {TidalPy-0.4.1/Tests → TidalPy-0.5.1/Tests/Test_Old}/Test_SetB_Package/test_d_basic_classes.py +0 -2
- {TidalPy-0.4.1/Tests → TidalPy-0.5.1/Tests/Test_Old}/Test_SetB_Package/test_g_math_special_funcs.py +1 -1
- {TidalPy-0.4.1/Tests → TidalPy-0.5.1/Tests/Test_Old}/Test_SetB_Package/test_h_voxel_volume.py +1 -1
- {TidalPy-0.4.1/Tests → TidalPy-0.5.1/Tests/Test_Old}/Test_SetB_Package/test_i_spherical_mass.py +1 -1
- {TidalPy-0.4.1/Tests → TidalPy-0.5.1/Tests/Test_Old}/Test_SetE_Functional/test_a_performance_funcs.py +1 -1
- {TidalPy-0.4.1/Tests → TidalPy-0.5.1/Tests/Test_Old}/Test_SetF_Functional/Test_Dynamics/test_dual_dissipation.py +1 -1
- {TidalPy-0.4.1/Tests → TidalPy-0.5.1/Tests/Test_Old}/Test_SetF_Functional/Test_Dynamics/test_single_dissipation.py +1 -1
- {TidalPy-0.4.1/Tests → TidalPy-0.5.1/Tests/Test_Old}/Test_SetF_Functional/Test_Rheology/test_compliance_funcs.py +3 -3
- {TidalPy-0.4.1/Tests → TidalPy-0.5.1/Tests/Test_Old}/Test_SetF_Functional/Test_Rheology/test_partialmelt_funcs.py +1 -1
- {TidalPy-0.4.1/Tests → TidalPy-0.5.1/Tests/Test_Old}/Test_SetF_Functional/Test_Tides/test_a_orbital_funcs.py +1 -3
- {TidalPy-0.4.1/Tests → TidalPy-0.5.1/Tests/Test_Old}/Test_SetF_Functional/Test_Tides/test_b_dissipation.py +1 -1
- {TidalPy-0.4.1/Tests → TidalPy-0.5.1/Tests/Test_Old}/Test_SetF_Functional/Test_Tides/test_c_mode_manipulation.py +1 -3
- {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
- {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
- {TidalPy-0.4.1/Tests → TidalPy-0.5.1/Tests/Test_Old}/Test_SetK_PlanetBuild/test_a_build_star.py +9 -7
- {TidalPy-0.4.1/Tests → TidalPy-0.5.1/Tests/Test_Old}/Test_SetK_PlanetBuild/test_b_build_layered.py +13 -10
- {TidalPy-0.4.1/Tests → TidalPy-0.5.1/Tests/Test_Old}/Test_SetK_PlanetBuild/test_d_build_burnman_planet.py +33 -13
- {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
- {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
- TidalPy-0.5.1/Tests/Test_Old/Test_SetL_Orbit/test_orbit_averaging.py +227 -0
- 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
- {TidalPy-0.4.1/Tests → TidalPy-0.5.1/Tests/Test_Old}/Test_SetO_OOP_Calcs/test_radiogenic.py +2 -2
- {TidalPy-0.4.1/Tests → TidalPy-0.5.1/Tests/Test_Old}/Test_SetP_RadialSolver/Test_Matrix/test_a_matrix_package.py +1 -1
- {TidalPy-0.4.1/Tests → TidalPy-0.5.1/Tests/Test_Old}/Test_SetP_RadialSolver/Test_Matrix/test_b_fundamental.py +1 -1
- {TidalPy-0.4.1/Tests → TidalPy-0.5.1/Tests/Test_Old}/Test_SetP_RadialSolver/Test_Matrix/test_c_propagate.py +1 -1
- {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
- {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
- {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
- {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
- {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
- {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
- TidalPy-0.5.1/Tests/Test_Old/Test_SetP_RadialSolver/Test_Numerical/Test_b_Interfaces/test_c_interface_funcs.py +72 -0
- {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
- {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
- {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
- {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
- {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
- {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
- {TidalPy-0.4.1/Tests → TidalPy-0.5.1/Tests/Test_Old}/Test_SetP_RadialSolver/Test_Numerical/test_a_numerical_package.py +2 -2
- {TidalPy-0.4.1/Tests → TidalPy-0.5.1/Tests/Test_Old}/Test_SetP_RadialSolver/Test_Numerical/test_b_radial_solver.py +2 -3
- 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
- {TidalPy-0.4.1/Tests → TidalPy-0.5.1/Tests/Test_Old}/Test_SetP_RadialSolver/test_a_love.py +1 -1
- {TidalPy-0.4.1/Tests → TidalPy-0.5.1/Tests/Test_Old}/Test_SetP_RadialSolver/test_b_sensitivity.py +1 -3
- {TidalPy-0.4.1/Tests → TidalPy-0.5.1/Tests/Test_Old}/Test_SetP_RadialSolver/test_c_nondimensional.py +1 -1
- {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
- TidalPy-0.5.1/Tests/Test_Old/Test_SetS_Tides/Test_Heating/test_heating.py +22 -0
- TidalPy-0.5.1/Tests/Test_Old/Test_SetS_Tides/Test_Unique_Modes/test_unique_freqs.py +155 -0
- {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
- {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
- {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
- {TidalPy-0.4.1/Tests → TidalPy-0.5.1/Tests/Test_Old}/Test_SetX_Potential/test_a_potential.py +2 -2
- {TidalPy-0.4.1/Tests → TidalPy-0.5.1/Tests/Test_Old}/Test_SetX_Potential/test_b_mode_potential.py +2 -2
- {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
- {TidalPy-0.4.1/Tests → TidalPy-0.5.1/Tests/Test_Old}/Test_SetY_MultiLayer/Test_Matrix/test_e_strain.py +13 -9
- {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
- {TidalPy-0.4.1/Tests → TidalPy-0.5.1/Tests/Test_Old}/Test_SetZA_Multiprocessing/test_multiprocessing.py +1 -1
- TidalPy-0.5.1/Tests/Test_RadialSolver/test_a_interfaces.py +167 -0
- TidalPy-0.5.1/Tests/Test_RadialSolver/test_a_starting_condtions.py +310 -0
- TidalPy-0.5.1/Tests/Test_RadialSolver/test_b_radial_solver_1layer.py +102 -0
- TidalPy-0.5.1/Tests/Test_RadialSolver/test_d_alma_compare.py +173 -0
- TidalPy-0.5.1/Tests/Test_RadialSolver/test_e_radial_solver_3layer.py +126 -0
- TidalPy-0.5.1/Tests/Test_Utilities/Test_Dimensions/test_nondimensional.py +67 -0
- TidalPy-0.5.1/Tests/Test_Utilities/Test_Exoplanets/test_exoplanet_download.py +58 -0
- TidalPy-0.5.1/TidalPy/Extending/__init__.py +9 -0
- TidalPy-0.5.1/TidalPy/Extending/burnman/__init__.py +3 -0
- {TidalPy-0.4.1/TidalPy/burnman_interface → TidalPy-0.5.1/TidalPy/Extending/burnman}/build.py +13 -11
- TidalPy-0.5.1/TidalPy/Extending/burnman/burnman_defaultc.py +21 -0
- TidalPy-0.4.1/TidalPy/structures/layers/burnman.py → TidalPy-0.5.1/TidalPy/Extending/burnman/burnman_layer.py +28 -19
- TidalPy-0.4.1/TidalPy/structures/world_types/burnman.py → TidalPy-0.5.1/TidalPy/Extending/burnman/burnman_world.py +15 -17
- {TidalPy-0.4.1/TidalPy/burnman_interface → TidalPy-0.5.1/TidalPy/Extending/burnman}/conversion.py +13 -13
- TidalPy-0.5.1/TidalPy/Extending/burnman/material/custom/__init__.py +11 -0
- {TidalPy-0.4.1/TidalPy/burnman_interface → TidalPy-0.5.1/TidalPy/Extending/burnman}/material/custom/constant.py +96 -96
- {TidalPy-0.4.1/TidalPy/burnman_interface → TidalPy-0.5.1/TidalPy/Extending/burnman}/material/custom/ice.py +182 -183
- {TidalPy-0.4.1/TidalPy/burnman_interface → TidalPy-0.5.1/TidalPy/Extending/burnman}/material/custom/pyrite.py +29 -29
- {TidalPy-0.4.1/TidalPy/burnman_interface → TidalPy-0.5.1/TidalPy/Extending/burnman}/material/helper.py +5 -5
- TidalPy-0.5.1/TidalPy/Extending/burnman/package.py +41 -0
- TidalPy-0.5.1/TidalPy/RadialSolver/__init__.py +1 -0
- TidalPy-0.5.1/TidalPy/RadialSolver/boundaries/boundaries.c +4998 -0
- TidalPy-0.5.1/TidalPy/RadialSolver/boundaries/boundaries.pxd +14 -0
- TidalPy-0.5.1/TidalPy/RadialSolver/boundaries/boundaries.pyx +126 -0
- TidalPy-0.5.1/TidalPy/RadialSolver/collapse/collapse.c +4806 -0
- TidalPy-0.5.1/TidalPy/RadialSolver/collapse/collapse.pxd +19 -0
- TidalPy-0.5.1/TidalPy/RadialSolver/collapse/collapse.pyx +107 -0
- TidalPy-0.5.1/TidalPy/RadialSolver/derivatives/base.c +30326 -0
- TidalPy-0.5.1/TidalPy/RadialSolver/derivatives/base.pxd +52 -0
- TidalPy-0.5.1/TidalPy/RadialSolver/derivatives/base.pyx +195 -0
- TidalPy-0.5.1/TidalPy/RadialSolver/derivatives/odes.c +36443 -0
- TidalPy-0.5.1/TidalPy/RadialSolver/derivatives/odes.pxd +58 -0
- TidalPy-0.5.1/TidalPy/RadialSolver/derivatives/odes.pyx +885 -0
- TidalPy-0.5.1/TidalPy/RadialSolver/interfaces/__init__.py +0 -0
- TidalPy-0.5.1/TidalPy/RadialSolver/interfaces/interfaces.c +29074 -0
- TidalPy-0.5.1/TidalPy/RadialSolver/interfaces/interfaces.pxd +17 -0
- TidalPy-0.5.1/TidalPy/RadialSolver/interfaces/interfaces.pyx +302 -0
- TidalPy-0.5.1/TidalPy/RadialSolver/interfaces/reversed.c +4968 -0
- TidalPy-0.5.1/TidalPy/RadialSolver/interfaces/reversed.pxd +17 -0
- TidalPy-0.5.1/TidalPy/RadialSolver/interfaces/reversed.pyx +179 -0
- TidalPy-0.5.1/TidalPy/RadialSolver/love.c +27391 -0
- TidalPy-0.5.1/TidalPy/RadialSolver/love.pxd +5 -0
- TidalPy-0.5.1/TidalPy/RadialSolver/love.pyx +54 -0
- TidalPy-0.5.1/TidalPy/RadialSolver/solutions.c +6455 -0
- TidalPy-0.5.1/TidalPy/RadialSolver/solutions.pxd +5 -0
- TidalPy-0.5.1/TidalPy/RadialSolver/solutions.pyx +71 -0
- TidalPy-0.5.1/TidalPy/RadialSolver/solver.c +42364 -0
- TidalPy-0.5.1/TidalPy/RadialSolver/solver.pxd +51 -0
- TidalPy-0.5.1/TidalPy/RadialSolver/solver.pyx +1286 -0
- TidalPy-0.5.1/TidalPy/RadialSolver/starting/__init__.py +0 -0
- TidalPy-0.5.1/TidalPy/RadialSolver/starting/common.c +4854 -0
- TidalPy-0.5.1/TidalPy/RadialSolver/starting/common.pxd +12 -0
- TidalPy-0.5.1/TidalPy/RadialSolver/starting/common.pyx +155 -0
- TidalPy-0.5.1/TidalPy/RadialSolver/starting/driver.c +29075 -0
- TidalPy-0.5.1/TidalPy/RadialSolver/starting/driver.pxd +16 -0
- TidalPy-0.5.1/TidalPy/RadialSolver/starting/driver.pyx +201 -0
- TidalPy-0.5.1/TidalPy/RadialSolver/starting/kamata.c +6058 -0
- TidalPy-0.5.1/TidalPy/RadialSolver/starting/kamata.pxd +60 -0
- TidalPy-0.5.1/TidalPy/RadialSolver/starting/kamata.pyx +598 -0
- TidalPy-0.5.1/TidalPy/RadialSolver/starting/saito.c +4308 -0
- TidalPy-0.5.1/TidalPy/RadialSolver/starting/saito.pxd +6 -0
- TidalPy-0.5.1/TidalPy/RadialSolver/starting/saito.pyx +50 -0
- TidalPy-0.5.1/TidalPy/RadialSolver/starting/takeuchi.c +5649 -0
- TidalPy-0.5.1/TidalPy/RadialSolver/starting/takeuchi.pxd +37 -0
- TidalPy-0.5.1/TidalPy/RadialSolver/starting/takeuchi.pyx +452 -0
- TidalPy-0.5.1/TidalPy/WorldPack/WorldPack.zip +0 -0
- TidalPy-0.5.1/TidalPy/__init__.py +34 -0
- TidalPy-0.5.1/TidalPy/cache.py +71 -0
- TidalPy-0.5.1/TidalPy/configurations.py +203 -0
- TidalPy-0.5.1/TidalPy/cooling/__init__.py +19 -0
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/cooling/cooling.py +18 -15
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/cooling/cooling_models.py +15 -10
- TidalPy-0.5.1/TidalPy/defaultc.py +444 -0
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/dynamics/dual_dissipation.py +18 -15
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/dynamics/single_dissipation.py +16 -13
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/exceptions.py +3 -0
- TidalPy-0.5.1/TidalPy/initialize.py +85 -0
- TidalPy-0.5.1/TidalPy/logger.py +143 -0
- TidalPy-0.5.1/TidalPy/orbit/__init__.py +1 -0
- TidalPy-0.5.1/TidalPy/orbit/averaging.py +318 -0
- TidalPy-0.5.1/TidalPy/output.py +38 -0
- TidalPy-0.4.1/TidalPy/io_helper.py → TidalPy-0.5.1/TidalPy/paths.py +31 -1
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/radial_solver/__init__.py +1 -1
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/radial_solver/nondimensional.py +13 -10
- TidalPy-0.5.1/TidalPy/radial_solver/numerical/__init__.py +1 -0
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/radial_solver/numerical/collapse/surface_condition.py +1 -1
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/radial_solver/numerical/derivatives/radial_derivatives_dynamic.py +15 -33
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/radial_solver/numerical/derivatives/radial_derivatives_dynamic_incomp.py +20 -21
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/radial_solver/numerical/derivatives/radial_derivatives_static.py +16 -14
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/radial_solver/numerical/derivatives/radial_derivatives_static_incomp.py +15 -14
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/radial_solver/numerical/initial/__init__.py +5 -8
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/radial_solver/numerical/initial/functions.py +8 -6
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/radial_solver/numerical/initial/initial_solution_dynamic.py +85 -95
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/radial_solver/numerical/initial/initial_solution_dynamic_incomp.py +47 -54
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/radial_solver/numerical/initial/initial_solution_static.py +65 -73
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/radial_solver/numerical/initial/initial_solution_static_incomp.py +14 -18
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/radial_solver/numerical/interfaces/liquid_liquid.py +44 -45
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/radial_solver/numerical/interfaces/liquid_solid.py +70 -92
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/radial_solver/numerical/interfaces/solid_liquid.py +48 -60
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/radial_solver/numerical/interfaces/solid_solid.py +45 -44
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/radial_solver/numerical/solver.py +14 -7
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/radiogenics/__init__.py +2 -3
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/radiogenics/radiogenic_models.py +3 -3
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/radiogenics/radiogenics.py +20 -18
- TidalPy-0.5.1/TidalPy/rheology/__init__.py +14 -0
- TidalPy-0.5.1/TidalPy/rheology/base.c +30855 -0
- TidalPy-0.5.1/TidalPy/rheology/base.pxd +33 -0
- TidalPy-0.5.1/TidalPy/rheology/base.pyx +138 -0
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/rheology/complex_compliance/__init__.py +6 -3
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/rheology/complex_compliance/complex_compliance.py +14 -14
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/rheology/complex_compliance/compliance_models.py +25 -22
- TidalPy-0.5.1/TidalPy/rheology/models.c +21680 -0
- TidalPy-0.5.1/TidalPy/rheology/models.pxd +36 -0
- TidalPy-0.5.1/TidalPy/rheology/models.pyx +281 -0
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/rheology/partial_melt/__init__.py +6 -3
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/rheology/partial_melt/melting_models.py +4 -4
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/rheology/partial_melt/partialmelt.py +19 -18
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/rheology/rheology.py +18 -14
- TidalPy-0.5.1/TidalPy/rheology/viscosity/__init__.py +21 -0
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/rheology/viscosity/viscosity.py +12 -14
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/rheology/viscosity/viscosity_models.py +3 -3
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/stellar/insolation.py +18 -13
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/stellar/stellar.py +2 -2
- TidalPy-0.5.1/TidalPy/structures/helpers/__init__.py +0 -0
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/structures/helpers/orbit_config.py +4 -2
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/structures/layers/__init__.py +3 -6
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/structures/layers/basic.py +16 -16
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/structures/layers/helper.py +6 -4
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/structures/layers/physics.py +18 -17
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/structures/orbit/base.py +56 -49
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/structures/orbit/physics.py +34 -25
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/structures/physical.py +27 -33
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/structures/world_builder/__init__.py +0 -1
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/structures/world_builder/config_handler.py +9 -17
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/structures/world_builder/iterative_builder.py +6 -2
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/structures/world_builder/world_builder.py +30 -28
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/structures/world_types/__init__.py +7 -9
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/structures/world_types/basic.py +53 -50
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/structures/world_types/gas.py +2 -1
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/structures/world_types/layered.py +27 -25
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/structures/world_types/stellar.py +8 -9
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/structures/world_types/tidal.py +25 -18
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/tides/__init__.py +2 -1
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/tides/ctl_funcs/ctl_funcs.py +7 -3
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/tides/dissipation.py +7 -3
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/tides/eccentricity_funcs/__init__.py +4 -3
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/tides/eccentricity_funcs/orderl2.py +16 -12
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/tides/eccentricity_funcs/orderl3.py +15 -11
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/tides/eccentricity_funcs/orderl4.py +15 -11
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/tides/eccentricity_funcs/orderl5.py +15 -11
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/tides/eccentricity_funcs/orderl6.py +16 -12
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/tides/eccentricity_funcs/orderl7.py +15 -11
- TidalPy-0.5.1/TidalPy/tides/heating.py +52 -0
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/tides/inclination_funcs/__init__.py +4 -3
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/tides/inclination_funcs/orderl2.py +7 -3
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/tides/inclination_funcs/orderl3.py +7 -3
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/tides/inclination_funcs/orderl4.py +7 -3
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/tides/inclination_funcs/orderl5.py +7 -3
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/tides/inclination_funcs/orderl6.py +7 -3
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/tides/inclination_funcs/orderl7.py +7 -3
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/tides/love1d.py +15 -10
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/tides/methods/base.py +42 -35
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/tides/methods/global_approx.py +17 -16
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/tides/methods/layered.py +10 -10
- TidalPy-0.5.1/TidalPy/tides/modes/__init__.py +1 -0
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/tides/modes/collapse_modes.py +1 -1
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/tides/modes/mode_calc_helper/eccen_calc_orderl2.py +20 -15
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/tides/modes/mode_calc_helper/eccen_calc_orderl3.py +19 -14
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/tides/modes/mode_calc_helper/eccen_calc_orderl4.py +19 -14
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/tides/modes/mode_calc_helper/eccen_calc_orderl5.py +19 -14
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/tides/modes/mode_calc_helper/eccen_calc_orderl6.py +19 -14
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/tides/modes/mode_calc_helper/eccen_calc_orderl7.py +19 -14
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/tides/modes/mode_calc_helper/inclin_calc_orderl2.py +11 -6
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/tides/modes/mode_calc_helper/inclin_calc_orderl3.py +11 -6
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/tides/modes/mode_calc_helper/inclin_calc_orderl4.py +11 -6
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/tides/modes/mode_calc_helper/inclin_calc_orderl5.py +11 -6
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/tides/modes/mode_calc_helper/inclin_calc_orderl6.py +11 -6
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/tides/modes/mode_calc_helper/inclin_calc_orderl7.py +11 -6
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/tides/modes/mode_manipulation.py +20 -16
- TidalPy-0.5.1/TidalPy/tides/modes/modes.py +148 -0
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/tides/modes/multilayer_modes.py +27 -34
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/tides/multilayer/displacements.py +8 -6
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/tides/multilayer/heating.py +8 -4
- TidalPy-0.5.1/TidalPy/tides/multilayer/stress_strain.py +189 -0
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/tides/potential/__init__.py +7 -5
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/tides/potential/nsr_med_eccen_gen_obliquity.py +16 -9
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/tides/potential/nsr_med_eccen_med_obliquity.py +16 -9
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/tides/potential/nsr_med_eccen_no_obliquity.py +16 -9
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/tides/potential/nsr_modes_low_eccen_gen_obliquity.py +15 -10
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/tides/potential/nsr_modes_med_eccen_gen_obliquity.py +15 -10
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/tides/potential/nsr_modes_med_eccen_med_obliquity.py +15 -10
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/tides/potential/nsr_modes_med_eccen_no_obliquity.py +15 -10
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/tides/potential/synchronous_low_e.py +13 -8
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/tides/universal_coeffs.py +3 -2
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/toolbox/quick_tides.py +61 -63
- TidalPy-0.5.1/TidalPy/utilities/__init__.py +0 -0
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/utilities/classes/base.py +1 -1
- TidalPy-0.5.1/TidalPy/utilities/classes/base_x.c +9306 -0
- TidalPy-0.5.1/TidalPy/utilities/classes/base_x.pxd +5 -0
- TidalPy-0.5.1/TidalPy/utilities/classes/base_x.pyx +29 -0
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/utilities/classes/config/config.py +14 -15
- TidalPy-0.4.1/TidalPy/utilities/classes/model/functionalUtils.py → TidalPy-0.5.1/TidalPy/utilities/classes/model/functional_utils.py +4 -10
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/utilities/classes/model/model.py +20 -11
- TidalPy-0.4.1/TidalPy/utilities/classes/model/modelUtils.py → TidalPy-0.5.1/TidalPy/utilities/classes/model/model_utils.py +2 -2
- TidalPy-0.5.1/TidalPy/utilities/constants_x.c +4111 -0
- TidalPy-0.5.1/TidalPy/utilities/constants_x.pxd +4 -0
- TidalPy-0.5.1/TidalPy/utilities/constants_x.pyx +16 -0
- TidalPy-0.5.1/TidalPy/utilities/conversions/__init__.py +4 -0
- {TidalPy-0.4.1/TidalPy/toolbox → TidalPy-0.5.1/TidalPy/utilities/conversions}/conversions.py +7 -6
- TidalPy-0.5.1/TidalPy/utilities/conversions/conversions_x.c +9172 -0
- TidalPy-0.5.1/TidalPy/utilities/conversions/conversions_x.pxd +37 -0
- TidalPy-0.5.1/TidalPy/utilities/conversions/conversions_x.pyx +214 -0
- {TidalPy-0.4.1/TidalPy/toolbox → TidalPy-0.5.1/TidalPy/utilities/conversions}/timing.py +1 -1
- {TidalPy-0.4.1/TidalPy/utilities/classes/config → TidalPy-0.5.1/TidalPy/utilities}/dictionary_utils.py +2 -2
- TidalPy-0.5.1/TidalPy/utilities/dimensions/__init__.py +0 -0
- TidalPy-0.5.1/TidalPy/utilities/dimensions/nondimensional.c +33897 -0
- TidalPy-0.5.1/TidalPy/utilities/dimensions/nondimensional.pxd +36 -0
- TidalPy-0.5.1/TidalPy/utilities/dimensions/nondimensional.pyx +228 -0
- TidalPy-0.5.1/TidalPy/utilities/exoplanets/__init__.py +1 -0
- TidalPy-0.5.1/TidalPy/utilities/exoplanets/data_download.py +135 -0
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/utilities/graphics/global_map.py +70 -54
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/utilities/graphics/grid_plot.py +2 -2
- TidalPy-0.5.1/TidalPy/utilities/graphics/multilayer/RN08-Data.csv +52 -0
- TidalPy-0.5.1/TidalPy/utilities/graphics/multilayer/T05-Data.csv +1 -0
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/utilities/graphics/multilayer/yplot.py +1 -1
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/utilities/graphics/phasespace_plot.py +1 -1
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/utilities/graphics/planet_plot.py +1 -1
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/utilities/integration/cyrk_helper.py +2 -1
- TidalPy-0.5.1/TidalPy/utilities/io/__init__.py +0 -0
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/utilities/io/progress.py +1 -1
- TidalPy-0.5.1/TidalPy/utilities/math/__init__.py +0 -0
- TidalPy-0.5.1/TidalPy/utilities/math/complex.c +10949 -0
- TidalPy-0.5.1/TidalPy/utilities/math/complex.pxd +37 -0
- TidalPy-0.5.1/TidalPy/utilities/math/complex.pyx +461 -0
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/utilities/math/special.py +7 -3
- TidalPy-0.5.1/TidalPy/utilities/math/special_x.c +7360 -0
- TidalPy-0.5.1/TidalPy/utilities/math/special_x.pxd +1 -0
- TidalPy-0.5.1/TidalPy/utilities/math/special_x.pyx +76 -0
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/utilities/multiprocessing/multiprocessing.py +4 -3
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/utilities/numpy_helper/array_other.py +8 -5
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/utilities/numpy_helper/array_shape.py +6 -4
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/utilities/performance/__init__.py +1 -1
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/utilities/performance/numba.py +4 -5
- TidalPy-0.5.1/TidalPy/utilities/performance/special/__init__.py +1 -0
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/utilities/spherical_helper/mass.py +17 -12
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/utilities/spherical_helper/volume.py +2 -3
- TidalPy-0.5.1/TidalPy/utilities/types.py +30 -0
- TidalPy-0.5.1/TidalPy/utilities/types_x.c +4225 -0
- TidalPy-0.5.1/TidalPy/utilities/types_x.pxd +3 -0
- TidalPy-0.5.1/TidalPy/utilities/types_x.pyx +0 -0
- {TidalPy-0.4.1 → TidalPy-0.5.1/TidalPy.egg-info}/PKG-INFO +128 -141
- TidalPy-0.5.1/TidalPy.egg-info/SOURCES.txt +389 -0
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy.egg-info/requires.txt +18 -17
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy.egg-info/top_level.txt +1 -3
- TidalPy-0.5.1/_build_tidalpy.py +81 -0
- TidalPy-0.5.1/cython_extensions.json +162 -0
- {TidalPy-0.4.1 → TidalPy-0.5.1}/pyproject.toml +50 -34
- TidalPy-0.5.1/setup.py +45 -0
- TidalPy-0.4.1/Benchmarks & Performance/Performance/performance suite/multilayer_tidal_y.py +0 -103
- TidalPy-0.4.1/Derivations/NSR - Potential-Based - Arb Inclin & Eccen - Script.py +0 -559
- TidalPy-0.4.1/Derivations/functions/__init__.py +0 -2
- TidalPy-0.4.1/Derivations/functions/eccentricity_funcs.py +0 -22
- TidalPy-0.4.1/Derivations/functions/general_math.py +0 -67
- TidalPy-0.4.1/Derivations/functions/hansen.py +0 -176
- TidalPy-0.4.1/Derivations/functions/inclination_funcs.py +0 -60
- TidalPy-0.4.1/Derivations/functions/sympy_help.py +0 -163
- TidalPy-0.4.1/MANIFEST.in +0 -5
- TidalPy-0.4.1/Old - For Reference/integration_dev/integration.py +0 -82
- TidalPy-0.4.1/Old - For Reference/integration_dev/integration2.py +0 -134
- TidalPy-0.4.1/README.md +0 -245
- TidalPy-0.4.1/Tests/Test_SetA_Package/test_tidalpy_config.py +0 -21
- TidalPy-0.4.1/Tests/Test_SetP_RadialSolver/Test_Numerical/Test_b_Interfaces/test_c_interface_funcs.py +0 -77
- TidalPy-0.4.1/Tests/Test_SetP_RadialSolver/Test_Numerical/test_c_radial_solver_numba.py +0 -120
- TidalPy-0.4.1/TidalPy/WorldConfigs/55cnc.json +0 -12
- TidalPy-0.4.1/TidalPy/WorldConfigs/55cnce.json +0 -40
- TidalPy-0.4.1/TidalPy/WorldConfigs/charon.json +0 -31
- TidalPy-0.4.1/TidalPy/WorldConfigs/earth.json +0 -48
- TidalPy-0.4.1/TidalPy/WorldConfigs/earth_simple.json +0 -41
- TidalPy-0.4.1/TidalPy/WorldConfigs/europa.json +0 -61
- TidalPy-0.4.1/TidalPy/WorldConfigs/io.json +0 -51
- TidalPy-0.4.1/TidalPy/WorldConfigs/io_simple.json +0 -25
- TidalPy-0.4.1/TidalPy/WorldConfigs/jupiter.json +0 -13
- TidalPy-0.4.1/TidalPy/WorldConfigs/luna.json +0 -40
- TidalPy-0.4.1/TidalPy/WorldConfigs/mercury.json +0 -61
- TidalPy-0.4.1/TidalPy/WorldConfigs/neptune.json +0 -13
- TidalPy-0.4.1/TidalPy/WorldConfigs/nereid_dev.json +0 -25
- TidalPy-0.4.1/TidalPy/WorldConfigs/pluto.json +0 -32
- TidalPy-0.4.1/TidalPy/WorldConfigs/sol.json +0 -12
- TidalPy-0.4.1/TidalPy/WorldConfigs/trappist1.json +0 -14
- TidalPy-0.4.1/TidalPy/WorldConfigs/trappist1b.json +0 -24
- TidalPy-0.4.1/TidalPy/WorldConfigs/trappist1c.json +0 -24
- TidalPy-0.4.1/TidalPy/WorldConfigs/trappist1d.json +0 -24
- TidalPy-0.4.1/TidalPy/WorldConfigs/trappist1e.json +0 -24
- TidalPy-0.4.1/TidalPy/WorldConfigs/trappist1f.json +0 -24
- TidalPy-0.4.1/TidalPy/WorldConfigs/trappist1g.json +0 -24
- TidalPy-0.4.1/TidalPy/WorldConfigs/trappist1h.json +0 -24
- TidalPy-0.4.1/TidalPy/WorldConfigs/triton.json +0 -42
- TidalPy-0.4.1/TidalPy/WorldConfigs/triton_simple.json +0 -19
- TidalPy-0.4.1/TidalPy/__init__.py +0 -59
- TidalPy-0.4.1/TidalPy/burnman_interface/__init__.py +0 -9
- TidalPy-0.4.1/TidalPy/burnman_interface/material/__init__.py +0 -10
- TidalPy-0.4.1/TidalPy/burnman_interface/material/abundance.py +0 -19
- TidalPy-0.4.1/TidalPy/burnman_interface/material/custom/__init__.py +0 -26
- TidalPy-0.4.1/TidalPy/config_helpers.py +0 -30
- TidalPy-0.4.1/TidalPy/configurations.py +0 -58
- TidalPy-0.4.1/TidalPy/cooling/__init__.py +0 -14
- TidalPy-0.4.1/TidalPy/cooling/defaults.py +0 -18
- TidalPy-0.4.1/TidalPy/initialize.py +0 -95
- TidalPy-0.4.1/TidalPy/logger.py +0 -146
- TidalPy-0.4.1/TidalPy/radial_solver/numerical/__init__.py +0 -2
- TidalPy-0.4.1/TidalPy/radial_solver/numerical/solver_numba.py +0 -472
- TidalPy-0.4.1/TidalPy/radiogenics/defaults.py +0 -111
- TidalPy-0.4.1/TidalPy/rheology/__init__.py +0 -12
- TidalPy-0.4.1/TidalPy/rheology/complex_compliance/defaults.py +0 -31
- TidalPy-0.4.1/TidalPy/rheology/defaults.py +0 -8
- TidalPy-0.4.1/TidalPy/rheology/partial_melt/defaults.py +0 -31
- TidalPy-0.4.1/TidalPy/rheology/viscosity/__init__.py +0 -16
- TidalPy-0.4.1/TidalPy/rheology/viscosity/defaults.py +0 -50
- TidalPy-0.4.1/TidalPy/structures/layers/defaults.py +0 -83
- TidalPy-0.4.1/TidalPy/structures/world_types/defaults.py +0 -79
- TidalPy-0.4.1/TidalPy/tides/methods/defaults.py +0 -39
- TidalPy-0.4.1/TidalPy/tides/modes/multilayer_modes_numba.py +0 -624
- TidalPy-0.4.1/TidalPy/tides/multilayer/stress_strain.py +0 -187
- TidalPy-0.4.1/TidalPy/utilities/__init__.py +0 -3
- TidalPy-0.4.1/TidalPy/utilities/classes/config/json_utils.py +0 -118
- TidalPy-0.4.1/TidalPy/utilities/performance/cache.py +0 -33
- TidalPy-0.4.1/TidalPy/utilities/types.py +0 -29
- TidalPy-0.4.1/TidalPy.egg-info/SOURCES.txt +0 -331
- TidalPy-0.4.1/docs/source/conf.py +0 -34
- {TidalPy-0.4.1 → TidalPy-0.5.1}/Benchmarks & Performance/Performance/performance suite/performance_complex_compliance_func.py +0 -0
- {TidalPy-0.4.1 → TidalPy-0.5.1}/Benchmarks & Performance/Performance/performance suite/performance_eccentricity_func.py +0 -0
- {TidalPy-0.4.1 → TidalPy-0.5.1}/Benchmarks & Performance/Performance/performance suite/performance_quick_calcs.py +0 -0
- {TidalPy-0.4.1 → TidalPy-0.5.1}/Documentation/Issues/Issue35/subproc.py +0 -0
- {TidalPy-0.4.1 → TidalPy-0.5.1}/LICENSE.md +0 -0
- {TidalPy-0.4.1/TidalPy/burnman_interface → TidalPy-0.5.1/TidalPy/Extending/burnman}/defaults.py +0 -0
- {TidalPy-0.4.1/TidalPy/structures/helpers → TidalPy-0.5.1/TidalPy/Extending/burnman/material}/__init__.py +0 -0
- {TidalPy-0.4.1/TidalPy/tides/modes → TidalPy-0.5.1/TidalPy/RadialSolver/boundaries}/__init__.py +0 -0
- {TidalPy-0.4.1/TidalPy/utilities/io → TidalPy-0.5.1/TidalPy/RadialSolver/collapse}/__init__.py +0 -0
- {TidalPy-0.4.1/TidalPy/utilities/math → TidalPy-0.5.1/TidalPy/RadialSolver/derivatives}/__init__.py +0 -0
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/constants.py +0 -0
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/dynamics/__init__.py +0 -0
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/numba_scipy/__init__.py +0 -0
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/numba_scipy/special/__init__.py +0 -0
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/numba_scipy/special/overloads.py +0 -0
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/numba_scipy/special/signatures.py +0 -0
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/radial_solver/love.py +0 -0
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/radial_solver/matrix/__init__.py +0 -0
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/radial_solver/matrix/fundamental_solid.py +0 -0
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/radial_solver/matrix/propagate.py +0 -0
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/radial_solver/numerical/collapse/__init__.py +0 -0
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/radial_solver/numerical/collapse/generalized_collapse.py +0 -0
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/radial_solver/numerical/derivatives/__init__.py +0 -0
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/radial_solver/numerical/derivatives/odes.py +0 -0
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/radial_solver/numerical/interfaces/__init__.py +0 -0
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/radial_solver/sensitivity.py +0 -0
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/stellar/__init__.py +0 -0
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/stellar/habitability.py +0 -0
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/structures/__init__.py +0 -0
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/structures/layers/gas.py +0 -0
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/structures/orbit/__init__.py +0 -0
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/tides/ctl_funcs/__init__.py +0 -0
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/tides/methods/__init__.py +0 -0
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/tides/modes/mode_calc_helper/__init__.py +0 -0
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/tides/multilayer/__init__.py +0 -0
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/toolbox/__init__.py +0 -0
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/utilities/classes/__init__.py +0 -0
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/utilities/classes/config/__init__.py +0 -0
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/utilities/classes/model/__init__.py +0 -0
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/utilities/graphics/__init__.py +0 -0
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/utilities/graphics/multilayer/__init__.py +0 -0
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/utilities/integration/__init__.py +0 -0
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/utilities/integration/julia_helper.py +0 -0
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/utilities/integration/numbalsoda_helper.py +0 -0
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/utilities/integration/scipy_helper.py +0 -0
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/utilities/io/pathing.py +0 -0
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/utilities/multiprocessing/__init__.py +0 -0
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/utilities/numpy_helper/__init__.py +0 -0
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/utilities/performance/memory.py +0 -0
- /TidalPy-0.4.1/TidalPy/utilities/performance/special.py → /TidalPy-0.5.1/TidalPy/utilities/performance/special/factorial.py +0 -0
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/utilities/spherical_helper/__init__.py +0 -0
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/utilities/string_helper/__init__.py +0 -0
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy/utilities/string_helper/string_helper.py +0 -0
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy.egg-info/dependency_links.txt +0 -0
- {TidalPy-0.4.1 → TidalPy-0.5.1}/TidalPy.egg-info/entry_points.txt +0 -0
- {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.
|
|
13
|
-
from TidalPy.rheology
|
|
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
|
|
17
|
-
from
|
|
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 =
|
|
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 =
|
|
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.
|
|
56
|
-
bulk_core = 1.
|
|
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 =
|
|
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
|
|
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.
|
|
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
|
-
|
|
132
|
-
complex_shear_array =
|
|
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
|
-
|
|
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
|
-
|
|
171
|
+
radial_solution = \
|
|
170
172
|
radial_solver(
|
|
171
|
-
radius_array,
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
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,
|
|
179
|
-
|
|
180
|
-
|
|
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
|
-
|
|
200
|
+
radial_solution = \
|
|
185
201
|
radial_solver(
|
|
186
|
-
radius_array,
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
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,
|
|
194
|
-
|
|
195
|
-
|
|
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')
|
TidalPy-0.5.1/Benchmarks & Performance/Performance/performance suite/multilayer_radial_solver.py
ADDED
|
@@ -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.
|
|
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.
|
|
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()
|
{TidalPy-0.4.1 → TidalPy-0.5.1}/Benchmarks & Performance/Performance/performance suite/run_suite.py
RENAMED
|
@@ -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
|
|
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.
|
|
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
|