Skip to content

Commit

Permalink
fix: fold frame bug for refolded folds
Browse files Browse the repository at this point in the history
  • Loading branch information
lachlangrose committed Apr 28, 2022
1 parent 0d4fea8 commit bf272d1
Show file tree
Hide file tree
Showing 6 changed files with 25 additions and 19 deletions.
2 changes: 0 additions & 2 deletions LoopStructural/interpolators/_discrete_interpolator.py
Original file line number Diff line number Diff line change
Expand Up @@ -419,8 +419,6 @@ def build_matrix(self, square=True, damp=0.0, ie=False):
).tocsc() # .tocsr()

B = np.array(b)
print("A", A.shape)
print("B", B.shape)
if not square:
logger.info("Using rectangular matrix, equality constraints are not used")
return A, B
Expand Down
3 changes: 1 addition & 2 deletions LoopStructural/modelling/core/geological_model.py
Original file line number Diff line number Diff line change
Expand Up @@ -1035,7 +1035,6 @@ def create_and_add_folded_fold_frame(
fold = FoldEvent(fold_frame, name=f"Fold_{fold_frame_data}")
fold_interpolator = self.get_interpolator("DFI", fold=fold, **kwargs)
gy_fold_interpolator = self.get_interpolator("DFI", fold=fold, **kwargs)

frame_interpolator = self.get_interpolator(**kwargs)
interpolators = [
fold_interpolator,
Expand Down Expand Up @@ -1070,7 +1069,7 @@ def create_and_add_folded_fold_frame(

self._add_feature(folded_fold_frame)

return fold_frame
return folded_fold_frame

def create_and_add_intrusion(
self,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ def __init__(self, name, geological_feature_a, geological_feature_b):
geological_feature_a: first feature
geological_feature_b: second feature
"""
super().__init__(name, None)
super().__init__(name, None, None, None, None)
self.geological_feature_a = geological_feature_a
self.geological_feature_b = geological_feature_b
self.value_feature = None
Expand Down
13 changes: 13 additions & 0 deletions LoopStructural/modelling/features/_structural_frame.py
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,19 @@ def set_model(self, model):
continue
f.set_model(model)

@property
def model(self):
return self._model

@model.setter
def model(self, model):
# causes circular import, could delay import?
# if type(model) == GeologicalModel:
for f in self.features:
if f is None:
continue
f.model = model

def add_region(self, region):
for i in range(3):
self.features[i].add_region(region)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,6 @@


class StructuralFrameBuilder:
"""[summary]
[extended_summary]
"""

def __init__(
self, interpolator=None, interpolators=None, frame=StructuralFrame, **kwargs
):
Expand All @@ -46,6 +41,7 @@ def __init__(
self.name = kwargs["name"]
kwargs.pop("name")
self.data = [[], [], []]
self.fold = kwargs.get('fold',None)
# list of interpolators
# self.interpolators = []
# Create the interpolation objects by copying the template
Expand Down
18 changes: 9 additions & 9 deletions LoopStructural/visualisation/rotation_angle_plotter.py
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ def default_titles(self):
self.ax[0][0].set_xlabel("Fold Frame Axis Direction Field")

def add_fold_limb_data(self, symb="bo", **kwargs):
fold_frame = self.feature.fold.fold_limb_rotation.fold_frame_coordinate
fold_frame = self.feature.builder.fold.fold_limb_rotation.fold_frame_coordinate
rotation = self.feature.fold.fold_limb_rotation.rotation_angle
return self.plot(fold_frame, rotation, 0, 1, symb, **kwargs)

Expand All @@ -63,36 +63,36 @@ def add_fold_limb_curve(self, symb="r-", **kwargs):
100,
)
return self.plot(
x, self.feature.fold.fold_limb_rotation(x), 0, 1, symb, **kwargs
x, self.feature.builder.fold.fold_limb_rotation(x), 0, 1, symb, **kwargs
)

def add_axis_svariogram(self, symb="bo", **kwargs):
svariogram = self.feature.fold.fold_axis_rotation.svario
svariogram = self.feature.builder.fold.fold_axis_rotation.svario
if svariogram:
svariogram.calc_semivariogram()
return self.plot(
svariogram.lags, svariogram.variogram, 1, 0, symb, **kwargs
)

def add_limb_svariogram(self, symb="bo", **kwargs):
svariogram = self.feature.fold.fold_limb_rotation.svario
svariogram = self.feature.builder.fold.fold_limb_rotation.svario
if svariogram:
svariogram.calc_semivariogram()
return self.plot(
svariogram.lags, svariogram.variogram, 1, 1, symb, **kwargs
)

def add_fold_axis_data(self, symb="bo", **kwargs):
fold_frame = self.feature.fold.fold_axis_rotation.fold_frame_coordinate
rotation = self.feature.fold.fold_axis_rotation.rotation_angle
fold_frame = self.feature.builder.fold.fold_axis_rotation.fold_frame_coordinate
rotation = self.feature.builder.fold.fold_axis_rotation.rotation_angle
return self.plot(fold_frame, rotation, 0, 0, symb, **kwargs)

def add_fold_axis_curve(self, symb="r-", **kwargs):
x = np.linspace(
self.feature.fold.foldframe[1].min(),
self.feature.fold.foldframe[1].max(),
self.feature.builder.fold.foldframe[1].min(),
self.feature.builder.fold.foldframe[1].max(),
100,
)
return self.plot(
x, self.feature.fold.fold_axis_rotation(x), 0, 0, symb, **kwargs
x, self.feature.builder.fold.fold_axis_rotation(x), 0, 0, symb, **kwargs
)

0 comments on commit bf272d1

Please sign in to comment.