LoopStructural 1.0.1__zip

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.

Potentially problematic release.


This version of LoopStructural might be problematic. Click here for more details.

Files changed (119) hide show
  1. Miniconda/envs/loop/Lib/site-packages/LoopStructural/__init__.py +33 -0
  2. Miniconda/envs/loop/Lib/site-packages/LoopStructural/__pycache__/__init__.cpython-37.pyc +0 -0
  3. Miniconda/envs/loop/Lib/site-packages/LoopStructural/datasets/__init__.py +12 -0
  4. Miniconda/envs/loop/Lib/site-packages/LoopStructural/datasets/__pycache__/__init__.cpython-37.pyc +0 -0
  5. Miniconda/envs/loop/Lib/site-packages/LoopStructural/datasets/__pycache__/_base.cpython-37.pyc +0 -0
  6. Miniconda/envs/loop/Lib/site-packages/LoopStructural/datasets/_base.py +65 -0
  7. Miniconda/envs/loop/Lib/site-packages/LoopStructural/datasets/data/claudius.csv +21049 -0
  8. Miniconda/envs/loop/Lib/site-packages/LoopStructural/datasets/data/claudiusbb.txt +2 -0
  9. Miniconda/envs/loop/Lib/site-packages/LoopStructural/datasets/data/duplex.csv +126 -0
  10. Miniconda/envs/loop/Lib/site-packages/LoopStructural/datasets/data/duplexbb.txt +2 -0
  11. Miniconda/envs/loop/Lib/site-packages/LoopStructural/datasets/data/intrusion.csv +1017 -0
  12. Miniconda/envs/loop/Lib/site-packages/LoopStructural/datasets/data/intrusionbb.txt +2 -0
  13. Miniconda/envs/loop/Lib/site-packages/LoopStructural/datasets/data/onefoldbb.txt +2 -0
  14. Miniconda/envs/loop/Lib/site-packages/LoopStructural/datasets/data/onefolddata.csv +2226 -0
  15. Miniconda/envs/loop/Lib/site-packages/LoopStructural/datasets/data/refolded_bb.txt +2 -0
  16. Miniconda/envs/loop/Lib/site-packages/LoopStructural/datasets/data/refolded_fold.csv +2126 -0
  17. Miniconda/envs/loop/Lib/site-packages/LoopStructural/interpolators/__init__.py +31 -0
  18. Miniconda/envs/loop/Lib/site-packages/LoopStructural/interpolators/__pycache__/__init__.cpython-37.pyc +0 -0
  19. Miniconda/envs/loop/Lib/site-packages/LoopStructural/interpolators/__pycache__/discrete_fold_interpolator.cpython-37.pyc +0 -0
  20. Miniconda/envs/loop/Lib/site-packages/LoopStructural/interpolators/__pycache__/discrete_interpolator.cpython-37.pyc +0 -0
  21. Miniconda/envs/loop/Lib/site-packages/LoopStructural/interpolators/__pycache__/finite_difference_interpolator.cpython-37.pyc +0 -0
  22. Miniconda/envs/loop/Lib/site-packages/LoopStructural/interpolators/__pycache__/geological_interpolator.cpython-37.pyc +0 -0
  23. Miniconda/envs/loop/Lib/site-packages/LoopStructural/interpolators/__pycache__/operator.cpython-37.pyc +0 -0
  24. Miniconda/envs/loop/Lib/site-packages/LoopStructural/interpolators/__pycache__/piecewiselinear_interpolator.cpython-37.pyc +0 -0
  25. Miniconda/envs/loop/Lib/site-packages/LoopStructural/interpolators/__pycache__/structured_grid.cpython-37.pyc +0 -0
  26. Miniconda/envs/loop/Lib/site-packages/LoopStructural/interpolators/__pycache__/structured_tetra.cpython-37.pyc +0 -0
  27. Miniconda/envs/loop/Lib/site-packages/LoopStructural/interpolators/__pycache__/surfe_wrapper.cpython-37.pyc +0 -0
  28. Miniconda/envs/loop/Lib/site-packages/LoopStructural/interpolators/cython/__init__.py +0 -0
  29. Miniconda/envs/loop/Lib/site-packages/LoopStructural/interpolators/cython/__pycache__/__init__.cpython-37.pyc +0 -0
  30. Miniconda/envs/loop/Lib/site-packages/LoopStructural/interpolators/cython/dsi_helper.c +27805 -0
  31. Miniconda/envs/loop/Lib/site-packages/LoopStructural/interpolators/cython/dsi_helper.cp37-win_amd64.pyd +0 -0
  32. Miniconda/envs/loop/Lib/site-packages/LoopStructural/interpolators/discrete_fold_interpolator.py +168 -0
  33. Miniconda/envs/loop/Lib/site-packages/LoopStructural/interpolators/discrete_interpolator.py +551 -0
  34. Miniconda/envs/loop/Lib/site-packages/LoopStructural/interpolators/finite_difference_interpolator.py +339 -0
  35. Miniconda/envs/loop/Lib/site-packages/LoopStructural/interpolators/geological_interpolator.py +178 -0
  36. Miniconda/envs/loop/Lib/site-packages/LoopStructural/interpolators/operator.py +46 -0
  37. Miniconda/envs/loop/Lib/site-packages/LoopStructural/interpolators/piecewiselinear_interpolator.py +300 -0
  38. Miniconda/envs/loop/Lib/site-packages/LoopStructural/interpolators/structured_grid.py +460 -0
  39. Miniconda/envs/loop/Lib/site-packages/LoopStructural/interpolators/structured_tetra.py +637 -0
  40. Miniconda/envs/loop/Lib/site-packages/LoopStructural/interpolators/surfe_wrapper.py +119 -0
  41. Miniconda/envs/loop/Lib/site-packages/LoopStructural/modelling/__init__.py +46 -0
  42. Miniconda/envs/loop/Lib/site-packages/LoopStructural/modelling/__pycache__/__init__.cpython-37.pyc +0 -0
  43. Miniconda/envs/loop/Lib/site-packages/LoopStructural/modelling/core/__init__.py +0 -0
  44. Miniconda/envs/loop/Lib/site-packages/LoopStructural/modelling/core/__pycache__/__init__.cpython-37.pyc +0 -0
  45. Miniconda/envs/loop/Lib/site-packages/LoopStructural/modelling/core/__pycache__/geological_model.cpython-37.pyc +0 -0
  46. Miniconda/envs/loop/Lib/site-packages/LoopStructural/modelling/core/geological_model.py +1179 -0
  47. Miniconda/envs/loop/Lib/site-packages/LoopStructural/modelling/fault/__init__.py +3 -0
  48. Miniconda/envs/loop/Lib/site-packages/LoopStructural/modelling/fault/__pycache__/__init__.cpython-37.pyc +0 -0
  49. Miniconda/envs/loop/Lib/site-packages/LoopStructural/modelling/fault/__pycache__/fault_function.cpython-37.pyc +0 -0
  50. Miniconda/envs/loop/Lib/site-packages/LoopStructural/modelling/fault/__pycache__/fault_function_feature.cpython-37.pyc +0 -0
  51. Miniconda/envs/loop/Lib/site-packages/LoopStructural/modelling/fault/__pycache__/fault_segment.cpython-37.pyc +0 -0
  52. Miniconda/envs/loop/Lib/site-packages/LoopStructural/modelling/fault/fault_function.py +187 -0
  53. Miniconda/envs/loop/Lib/site-packages/LoopStructural/modelling/fault/fault_function_feature.py +75 -0
  54. Miniconda/envs/loop/Lib/site-packages/LoopStructural/modelling/fault/fault_segment.py +270 -0
  55. Miniconda/envs/loop/Lib/site-packages/LoopStructural/modelling/features/__init__.py +7 -0
  56. Miniconda/envs/loop/Lib/site-packages/LoopStructural/modelling/features/__pycache__/__init__.cpython-37.pyc +0 -0
  57. Miniconda/envs/loop/Lib/site-packages/LoopStructural/modelling/features/__pycache__/cross_product_geological_feature.cpython-37.pyc +0 -0
  58. Miniconda/envs/loop/Lib/site-packages/LoopStructural/modelling/features/__pycache__/geological_feature.cpython-37.pyc +0 -0
  59. Miniconda/envs/loop/Lib/site-packages/LoopStructural/modelling/features/__pycache__/geological_feature_builder.cpython-37.pyc +0 -0
  60. Miniconda/envs/loop/Lib/site-packages/LoopStructural/modelling/features/__pycache__/region_feature.cpython-37.pyc +0 -0
  61. Miniconda/envs/loop/Lib/site-packages/LoopStructural/modelling/features/__pycache__/structural_frame.cpython-37.pyc +0 -0
  62. Miniconda/envs/loop/Lib/site-packages/LoopStructural/modelling/features/__pycache__/structural_frame_builder.cpython-37.pyc +0 -0
  63. Miniconda/envs/loop/Lib/site-packages/LoopStructural/modelling/features/__pycache__/unconformity_feature.cpython-37.pyc +0 -0
  64. Miniconda/envs/loop/Lib/site-packages/LoopStructural/modelling/features/cross_product_geological_feature.py +77 -0
  65. Miniconda/envs/loop/Lib/site-packages/LoopStructural/modelling/features/geological_feature.py +276 -0
  66. Miniconda/envs/loop/Lib/site-packages/LoopStructural/modelling/features/geological_feature_builder.py +289 -0
  67. Miniconda/envs/loop/Lib/site-packages/LoopStructural/modelling/features/region_feature.py +31 -0
  68. Miniconda/envs/loop/Lib/site-packages/LoopStructural/modelling/features/structural_frame.py +116 -0
  69. Miniconda/envs/loop/Lib/site-packages/LoopStructural/modelling/features/structural_frame_builder.py +179 -0
  70. Miniconda/envs/loop/Lib/site-packages/LoopStructural/modelling/features/unconformity_feature.py +69 -0
  71. Miniconda/envs/loop/Lib/site-packages/LoopStructural/modelling/fold/__init__.py +8 -0
  72. Miniconda/envs/loop/Lib/site-packages/LoopStructural/modelling/fold/__pycache__/__init__.cpython-37.pyc +0 -0
  73. Miniconda/envs/loop/Lib/site-packages/LoopStructural/modelling/fold/__pycache__/fold.cpython-37.pyc +0 -0
  74. Miniconda/envs/loop/Lib/site-packages/LoopStructural/modelling/fold/__pycache__/fold_rotation_angle.cpython-37.pyc +0 -0
  75. Miniconda/envs/loop/Lib/site-packages/LoopStructural/modelling/fold/__pycache__/fold_rotation_angle_feature.cpython-37.pyc +0 -0
  76. Miniconda/envs/loop/Lib/site-packages/LoopStructural/modelling/fold/__pycache__/foldframe.cpython-37.pyc +0 -0
  77. Miniconda/envs/loop/Lib/site-packages/LoopStructural/modelling/fold/__pycache__/svariogram.cpython-37.pyc +0 -0
  78. Miniconda/envs/loop/Lib/site-packages/LoopStructural/modelling/fold/fold.py +135 -0
  79. Miniconda/envs/loop/Lib/site-packages/LoopStructural/modelling/fold/fold_rotation_angle.py +132 -0
  80. Miniconda/envs/loop/Lib/site-packages/LoopStructural/modelling/fold/fold_rotation_angle_feature.py +57 -0
  81. Miniconda/envs/loop/Lib/site-packages/LoopStructural/modelling/fold/foldframe.py +191 -0
  82. Miniconda/envs/loop/Lib/site-packages/LoopStructural/modelling/fold/svariogram.py +179 -0
  83. Miniconda/envs/loop/Lib/site-packages/LoopStructural/utils/__init__.py +14 -0
  84. Miniconda/envs/loop/Lib/site-packages/LoopStructural/utils/__pycache__/__init__.cpython-37.pyc +0 -0
  85. Miniconda/envs/loop/Lib/site-packages/LoopStructural/utils/__pycache__/exceptions.cpython-37.pyc +0 -0
  86. Miniconda/envs/loop/Lib/site-packages/LoopStructural/utils/__pycache__/helper.cpython-37.pyc +0 -0
  87. Miniconda/envs/loop/Lib/site-packages/LoopStructural/utils/__pycache__/map2loop.cpython-37.pyc +0 -0
  88. Miniconda/envs/loop/Lib/site-packages/LoopStructural/utils/__pycache__/utils.cpython-37.pyc +0 -0
  89. Miniconda/envs/loop/Lib/site-packages/LoopStructural/utils/exceptions.py +9 -0
  90. Miniconda/envs/loop/Lib/site-packages/LoopStructural/utils/helper.py +373 -0
  91. Miniconda/envs/loop/Lib/site-packages/LoopStructural/utils/map2loop.py +229 -0
  92. Miniconda/envs/loop/Lib/site-packages/LoopStructural/utils/utils.py +76 -0
  93. Miniconda/envs/loop/Lib/site-packages/LoopStructural/visualisation/__init__.py +19 -0
  94. Miniconda/envs/loop/Lib/site-packages/LoopStructural/visualisation/__pycache__/__init__.cpython-37.pyc +0 -0
  95. Miniconda/envs/loop/Lib/site-packages/LoopStructural/visualisation/__pycache__/map_viewer.cpython-37.pyc +0 -0
  96. Miniconda/envs/loop/Lib/site-packages/LoopStructural/visualisation/__pycache__/model_plotter.cpython-37.pyc +0 -0
  97. Miniconda/envs/loop/Lib/site-packages/LoopStructural/visualisation/__pycache__/model_visualisation.cpython-37.pyc +0 -0
  98. Miniconda/envs/loop/Lib/site-packages/LoopStructural/visualisation/__pycache__/rotation_angle_plotter.cpython-37.pyc +0 -0
  99. Miniconda/envs/loop/Lib/site-packages/LoopStructural/visualisation/__pycache__/sphinx_scraper.cpython-37.pyc +0 -0
  100. Miniconda/envs/loop/Lib/site-packages/LoopStructural/visualisation/map_viewer.py +122 -0
  101. Miniconda/envs/loop/Lib/site-packages/LoopStructural/visualisation/model_plotter.py +16 -0
  102. Miniconda/envs/loop/Lib/site-packages/LoopStructural/visualisation/model_visualisation.py +704 -0
  103. Miniconda/envs/loop/Lib/site-packages/LoopStructural/visualisation/rotation_angle_plotter.py +66 -0
  104. Miniconda/envs/loop/Lib/site-packages/LoopStructural/visualisation/sphinx_scraper.py +34 -0
  105. Miniconda/envs/loop/Lib/site-packages/LoopStructural-1.0.1-py3.7.egg-info/PKG-INFO +10 -0
  106. Miniconda/envs/loop/Lib/site-packages/LoopStructural-1.0.1-py3.7.egg-info/SOURCES.txt +60 -0
  107. Miniconda/envs/loop/Lib/site-packages/LoopStructural-1.0.1-py3.7.egg-info/dependency_links.txt +1 -0
  108. Miniconda/envs/loop/Lib/site-packages/LoopStructural-1.0.1-py3.7.egg-info/requires.txt +3 -0
  109. Miniconda/envs/loop/Lib/site-packages/LoopStructural-1.0.1-py3.7.egg-info/top_level.txt +2 -0
  110. Miniconda/envs/loop/Lib/site-packages/tests/__init__.py +0 -0
  111. Miniconda/envs/loop/Lib/site-packages/tests/__pycache__/__init__.cpython-37.pyc +0 -0
  112. Miniconda/envs/loop/Lib/site-packages/tests/__pycache__/test_faults.cpython-37.pyc +0 -0
  113. Miniconda/envs/loop/Lib/site-packages/tests/__pycache__/test_fold.cpython-37.pyc +0 -0
  114. Miniconda/envs/loop/Lib/site-packages/tests/__pycache__/test_interpolator.cpython-37.pyc +0 -0
  115. Miniconda/envs/loop/Lib/site-packages/tests/__pycache__/test_refolded.cpython-37.pyc +0 -0
  116. Miniconda/envs/loop/Lib/site-packages/tests/test_faults.py +17 -0
  117. Miniconda/envs/loop/Lib/site-packages/tests/test_fold.py +57 -0
  118. Miniconda/envs/loop/Lib/site-packages/tests/test_interpolator.py +88 -0
  119. Miniconda/envs/loop/Lib/site-packages/tests/test_refolded.py +22 -0
@@ -0,0 +1,66 @@
1
+ import logging
2
+
3
+ import matplotlib.pyplot as plt
4
+ import numpy as np
5
+
6
+ logger = logging.getLogger(__name__)
7
+
8
+
9
+ class RotationAnglePlotter:
10
+ def __init__(self, feature):
11
+ """
12
+
13
+ """
14
+ self.fig, self.ax = plt.subplots(2, 2, figsize=(15, 15))
15
+ self.ax[0][0].set_ylim(-90, 90)
16
+ self.ax[1][0].set_ylim(-90, 90)
17
+ self.feature = feature
18
+ def plot(self, x, y, ix, iy, symb):
19
+ """
20
+
21
+ Parameters
22
+ ----------
23
+ x : np.array
24
+ vector of x
25
+ y
26
+ ix
27
+ iy
28
+ symb
29
+
30
+ Returns
31
+ -------
32
+
33
+ """
34
+ self.ax[iy][ix].plot(x, y, symb)
35
+
36
+ def add_fold_limb_data(self, symb="bo",**kwargs):
37
+ fold_frame = self.feature.fold.fold_limb_rotation.fold_frame_coordinate
38
+ rotation = self.feature.fold.fold_limb_rotation.rotation_angle
39
+ self.plot(fold_frame, rotation, 0, 1, symb,**kwargs)
40
+
41
+ def add_fold_limb_curve(self, symb='r-',**kwargs):
42
+ x = np.linspace(self.feature.fold.foldframe[0].min(),self.feature.fold.foldframe[0].max(),100)
43
+ self.plot(x,self.feature.fold.fold_limb_rotation(x), 0, 1, symb,**kwargs)
44
+
45
+ def add_axis_svariogram(self, symb='bo',**kwargs):
46
+ svariogram = self.feature.fold.fold_axis_rotation.svario
47
+ if svariogram:
48
+ svariogram.calc_semivariogram()
49
+ self.plot(svariogram.lags, svariogram.variogram, 1, 1, symb,**kwargs)
50
+
51
+ def add_limb_svariogram(self, symb='bo', **kwargs):
52
+ svariogram = self.feature.fold.fold_limb_rotation.svario
53
+ if svariogram:
54
+ svariogram.calc_semivariogram()
55
+ self.plot(svariogram.lags, svariogram.variogram, 1, 1, symb,**kwargs)
56
+
57
+ def add_fold_axis_data(self, symb='bo',**kwargs):
58
+ fold_frame = self.feature.fold.fold_axis_rotation.fold_frame_coordinate
59
+ rotation = self.feature.fold.fold_axis_rotation.rotation_angle
60
+ self.plot(fold_frame, rotation, 0, 1, symb,**kwargs)
61
+
62
+ def add_fold_axis_curve(self, symb='r-',**kwargs):
63
+ x = np.linspace(self.feature.fold.foldframe[1].min(),self.feature.fold.foldframe[1].max(),100)
64
+ self.plot(x,self.feature.fold.fold_axis_rotation(x), 0, 1, symb,**kwargs)
65
+
66
+
@@ -0,0 +1,34 @@
1
+ from LoopStructural.visualisation import model_visualisation as model_visualisation
2
+ def _get_loop_visualisation_scraper():
3
+ return Scraper()
4
+
5
+ class Scraper:
6
+ """
7
+ Save ``pyvista.Plotter`` objects.
8
+
9
+ Used by sphinx-gallery to generate the plots from the code in the examples.
10
+
11
+ Pass an instance of this class to ``sphinx_gallery_conf`` in your
12
+ ``conf.py`` as the ``"image_scrapers"`` argument.
13
+ """
14
+
15
+ def __call__(self, block, block_vars, gallery_conf):
16
+ """Save the figures generated after running example code.
17
+
18
+ Called by sphinx-gallery.
19
+
20
+ """
21
+ try:
22
+ from sphinx_gallery.scrapers import figure_rst
23
+ except ImportError:
24
+ raise ImportError('You must install `sphinx_gallery`')
25
+ image_names = list()
26
+ image_path_iterator = block_vars["image_path_iterator"]
27
+ figures = model_visualisation._OPEN_VIEWERS
28
+ for address, plotter in figures.items():
29
+ plotter.lv['background'] = 'white'
30
+ fname = next(image_path_iterator)
31
+ plotter.save(fname)
32
+ image_names.append(fname)
33
+ model_visualisation.close_all() # close and clear all plotters
34
+ return figure_rst(image_names, gallery_conf["src_dir"])
@@ -0,0 +1,10 @@
1
+ Metadata-Version: 1.0
2
+ Name: LoopStructural
3
+ Version: 1.0.1
4
+ Summary: UNKNOWN
5
+ Home-page: UNKNOWN
6
+ Author: UNKNOWN
7
+ Author-email: UNKNOWN
8
+ License: UNKNOWN
9
+ Description: UNKNOWN
10
+ Platform: UNKNOWN
@@ -0,0 +1,60 @@
1
+ README.md
2
+ setup.py
3
+ LoopStructural/__init__.py
4
+ LoopStructural.egg-info/PKG-INFO
5
+ LoopStructural.egg-info/SOURCES.txt
6
+ LoopStructural.egg-info/dependency_links.txt
7
+ LoopStructural.egg-info/requires.txt
8
+ LoopStructural.egg-info/top_level.txt
9
+ LoopStructural/interpolators/cython/dsi_helper.c
10
+ LoopStructural/datasets/__init__.py
11
+ LoopStructural/datasets/_base.py
12
+ LoopStructural/interpolators/__init__.py
13
+ LoopStructural/interpolators/discrete_fold_interpolator.py
14
+ LoopStructural/interpolators/discrete_interpolator.py
15
+ LoopStructural/interpolators/finite_difference_interpolator.py
16
+ LoopStructural/interpolators/geological_interpolator.py
17
+ LoopStructural/interpolators/operator.py
18
+ LoopStructural/interpolators/piecewiselinear_interpolator.py
19
+ LoopStructural/interpolators/structured_grid.py
20
+ LoopStructural/interpolators/structured_tetra.py
21
+ LoopStructural/interpolators/surfe_wrapper.py
22
+ LoopStructural/interpolators/cython/__init__.py
23
+ LoopStructural/interpolators/cython/dsi_helper.c
24
+ LoopStructural/modelling/__init__.py
25
+ LoopStructural/modelling/core/__init__.py
26
+ LoopStructural/modelling/core/geological_model.py
27
+ LoopStructural/modelling/fault/__init__.py
28
+ LoopStructural/modelling/fault/fault_function.py
29
+ LoopStructural/modelling/fault/fault_function_feature.py
30
+ LoopStructural/modelling/fault/fault_segment.py
31
+ LoopStructural/modelling/features/__init__.py
32
+ LoopStructural/modelling/features/cross_product_geological_feature.py
33
+ LoopStructural/modelling/features/geological_feature.py
34
+ LoopStructural/modelling/features/geological_feature_builder.py
35
+ LoopStructural/modelling/features/region_feature.py
36
+ LoopStructural/modelling/features/structural_frame.py
37
+ LoopStructural/modelling/features/structural_frame_builder.py
38
+ LoopStructural/modelling/features/unconformity_feature.py
39
+ LoopStructural/modelling/fold/__init__.py
40
+ LoopStructural/modelling/fold/fold.py
41
+ LoopStructural/modelling/fold/fold_rotation_angle.py
42
+ LoopStructural/modelling/fold/fold_rotation_angle_feature.py
43
+ LoopStructural/modelling/fold/foldframe.py
44
+ LoopStructural/modelling/fold/svariogram.py
45
+ LoopStructural/utils/__init__.py
46
+ LoopStructural/utils/exceptions.py
47
+ LoopStructural/utils/helper.py
48
+ LoopStructural/utils/map2loop.py
49
+ LoopStructural/utils/utils.py
50
+ LoopStructural/visualisation/__init__.py
51
+ LoopStructural/visualisation/map_viewer.py
52
+ LoopStructural/visualisation/model_plotter.py
53
+ LoopStructural/visualisation/model_visualisation.py
54
+ LoopStructural/visualisation/rotation_angle_plotter.py
55
+ LoopStructural/visualisation/sphinx_scraper.py
56
+ tests/__init__.py
57
+ tests/test_faults.py
58
+ tests/test_fold.py
59
+ tests/test_interpolator.py
60
+ tests/test_refolded.py
@@ -0,0 +1,17 @@
1
+ from LoopStructural import GeologicalModel
2
+ from LoopStructural.datasets import load_intrusion
3
+ data, bb = load_intrusion()
4
+ model = GeologicalModel(bb[0,:],bb[1,:])
5
+ model.set_model_data(data)
6
+ fault = model.create_and_add_fault('fault',
7
+ 500,
8
+ nelements=2000,
9
+ steps=4,
10
+ interpolatortype='PLI',
11
+ buffer=0.2)
12
+ strati = model.create_and_add_foliation('strati',
13
+ nelements=30000,
14
+ interpolatortype='PLI',
15
+ cgw=0.1,
16
+ buffer=0.1
17
+ )
@@ -0,0 +1,57 @@
1
+ from LoopStructural import GeologicalModel
2
+ from LoopStructural.datasets import load_noddy_single_fold
3
+
4
+ import pandas as pd
5
+
6
+ data, boundary_points = load_noddy_single_fold()
7
+ data.head()
8
+ def test_average_fold_axis():
9
+ mdata = pd.concat([data[:100],data[data['feature_name']=='s1']])
10
+ model = GeologicalModel(boundary_points[0,:],boundary_points[1,:])
11
+ model.set_model_data(mdata)
12
+ fold_frame = model.create_and_add_fold_frame('s1',nelements=10000)
13
+ stratigraphy = model.create_and_add_folded_foliation('s0',
14
+ fold_frame,
15
+ nelements=10000,
16
+ av_fold_axis=True
17
+ # fold_axis=[-6.51626577e-06, -5.00013645e-01, -8.66017526e-01],
18
+ # limb_wl=1
19
+ )
20
+ def test_fixed_fold_axis():
21
+ mdata = pd.concat([data[:100],data[data['feature_name']=='s1']])
22
+ model = GeologicalModel(boundary_points[0,:],boundary_points[1,:])
23
+ model.set_model_data(mdata)
24
+ fold_frame = model.create_and_add_fold_frame('s1',nelements=10000)
25
+ stratigraphy = model.create_and_add_folded_foliation('s0',
26
+ fold_frame,
27
+ nelements=10000,
28
+ # av_fold_axis=True
29
+ fold_axis=[-6.51626577e-06, -5.00013645e-01, -8.66017526e-01],
30
+ # limb_wl=1
31
+ )
32
+
33
+ def test_fixed_wavelength():
34
+ mdata = pd.concat([data[:100],data[data['feature_name']=='s1']])
35
+ model = GeologicalModel(boundary_points[0,:],boundary_points[1,:])
36
+ model.set_model_data(mdata)
37
+ fold_frame = model.create_and_add_fold_frame('s1',nelements=10000)
38
+ stratigraphy = model.create_and_add_folded_foliation('s0',
39
+ fold_frame,
40
+ nelements=10000,
41
+ # av_fold_axis=True
42
+ fold_axis=[-6.51626577e-06, -5.00013645e-01, -8.66017526e-01],
43
+ limb_wl=1
44
+ )
45
+
46
+ def test_no_fold_frame():
47
+ mdata = pd.concat([data[:100],data[data['feature_name']=='s1']])
48
+ model = GeologicalModel(boundary_points[0,:],boundary_points[1,:])
49
+ model.set_model_data(mdata)
50
+ fold_frame = model.create_and_add_fold_frame('s1',nelements=10000)
51
+ stratigraphy = model.create_and_add_folded_foliation('s0',
52
+ # fold_frame,
53
+ nelements=10000,
54
+ # av_fold_axis=True
55
+ fold_axis=[-6.51626577e-06, -5.00013645e-01, -8.66017526e-01],
56
+ limb_wl=1
57
+ )
@@ -0,0 +1,88 @@
1
+ from LoopStructural import GeologicalModel
2
+ from LoopStructural.datasets import load_claudius
3
+
4
+ def test_create_model():
5
+ data, bb = load_claudius()
6
+ model = GeologicalModel(bb[0,:],bb[1,:])
7
+
8
+ def test_add_data():
9
+ data, bb = load_claudius()
10
+ model = GeologicalModel(bb[0,:],bb[1,:])
11
+ model.set_model_data(data)
12
+
13
+ def test_create_stratigraphy_FDI_cg():
14
+ data, bb = load_claudius()
15
+ model = GeologicalModel(bb[0, :], bb[1, :])
16
+ model.set_model_data(data)
17
+ s0 = model.create_and_add_foliation('s0',
18
+ interpolatortype='FDI',
19
+ nelements=1000,
20
+ solver='cg',
21
+ damp=False)
22
+
23
+
24
+ def test_remove_constraints_PLI():
25
+ data, bb = load_claudius()
26
+ model = GeologicalModel(bb[0, :], bb[1, :])
27
+ model.set_model_data(data)
28
+ s0 = model.create_and_add_foliation('s0',
29
+ interpolatortype='FDI',
30
+ nelements=1000,
31
+ solver='cg',
32
+ damp=False)
33
+
34
+ def test_create_stratigraphy_FDI_lu():
35
+ data, bb = load_claudius()
36
+ model = GeologicalModel(bb[0, :], bb[1, :])
37
+ model.set_model_data(data)
38
+ s0 = model.create_and_add_foliation('s0',
39
+ interpolatortype='FDI',
40
+ nelements=1000,
41
+ solver='lu',
42
+ damp=True)
43
+
44
+
45
+ def test_create_stratigraphy_FDI_pyamg():
46
+ data, bb = load_claudius()
47
+ model = GeologicalModel(bb[0, :], bb[1, :])
48
+ model.set_model_data(data)
49
+ s0 = model.create_and_add_foliation('s0',
50
+ interpolatortype='FDI',
51
+ nelements=1000,
52
+ solver='pyamg',
53
+ damp=True)
54
+
55
+ def test_create_stratigraphy_PLI_cg():
56
+ data, bb = load_claudius()
57
+ model = GeologicalModel(bb[0, :], bb[1, :])
58
+ model.set_model_data(data)
59
+ s0 = model.create_and_add_foliation('s0',
60
+ interpolatortype='PLI',
61
+ nelements=1000,
62
+ solver='cg',
63
+ damp=False)
64
+
65
+ def test_create_stratigraphy_PLI_lu():
66
+ data, bb = load_claudius()
67
+ model = GeologicalModel(bb[0, :], bb[1, :])
68
+ model.set_model_data(data)
69
+ s0 = model.create_and_add_foliation('s0',
70
+ interpolatortype='PLI',
71
+ nelements=1000,
72
+ solver='lu',
73
+ damp=True)
74
+
75
+
76
+ def test_create_stratigraphy_PLI_pyamg():
77
+ data, bb = load_claudius()
78
+ model = GeologicalModel(bb[0, :], bb[1, :])
79
+ model.set_model_data(data)
80
+ s0 = model.create_and_add_foliation('s0',
81
+ interpolatortype='PLI',
82
+ nelements=1000,
83
+ solver='pyamg',
84
+ damp=True)
85
+
86
+ def test_model_with_data_outside_of_bounding_box():
87
+ pass
88
+
@@ -0,0 +1,22 @@
1
+ from LoopStructural import GeologicalModel
2
+ from LoopStructural.datasets import load_laurent2016
3
+
4
+ def average_axis():
5
+ data, bb = load_laurent2016()
6
+
7
+ model = GeologicalModel(bb[0,:],bb[1,:])
8
+ model.set_model_data(data)
9
+ s2 = model.create_and_add_fold_frame('s2',
10
+ nelements=10000)
11
+
12
+ s1 = model.create_and_add_folded_fold_frame('s1',
13
+ limb_wl=.4,
14
+ av_fold_axis=True,
15
+ nelements=50000
16
+ )
17
+
18
+ s0 = model.create_and_add_folded_fold_frame('s0',
19
+ limb_wl=1.,
20
+ av_fold_axis=True,
21
+ nelements=50000
22
+ )