Skip to content

Commit 3b8f8c3

Browse files
committed
fix: change fault segement evaluate value to scaled displacement vector
1 parent edadfb3 commit 3b8f8c3

File tree

1 file changed

+42
-1
lines changed

1 file changed

+42
-1
lines changed

LoopStructural/modelling/features/fault/_fault_segment.py

Lines changed: 42 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -229,7 +229,9 @@ def evaluate_gradient(self, locations):
229229
except:
230230
logger.error("nan slicing ")
231231
# need to scale with fault displacement
232-
v[mask, :] = self.__getitem__(0).evaluate_gradient(locations[mask, :])
232+
v[mask, :] = self.__getitem__(1).evaluate_gradient(locations[mask, :])
233+
scale = self.displacementfeature.evaluate_value(locations[mask, :])
234+
v[mask, :] *= scale[:, None]
233235
return v
234236

235237
def evaluate_displacement(self, points):
@@ -458,3 +460,42 @@ def add_abutting_fault(self, abutting_fault_feature, positive=None):
458460
)
459461
self.abut[abutting_fault_feature.name] = abutting_region
460462
self.__getitem__(0).add_region(abutting_region)
463+
464+
def save(self, filename, scalar_field=True, slip_vector=True, surface=True):
465+
"""
466+
Save the fault to a file
467+
468+
Parameters
469+
----------
470+
filename - str
471+
filename to save to
472+
473+
Returns
474+
-------
475+
476+
"""
477+
filename = str(filename)
478+
ext = filename.split(".")[-1]
479+
info = ''
480+
if scalar_field:
481+
if ext == '.geoh5':
482+
info = ''
483+
else:
484+
info = '_scalar_field'
485+
a = self.features[0].scalar_field()
486+
a.merge(self.features[1].scalar_field())
487+
a.merge(self.features[2].scalar_field())
488+
a.merge(self.displacementfeature.scalar_field())
489+
a.save(f'{filename}{info}.{ext}')
490+
if slip_vector:
491+
if ext == '.geoh5':
492+
info = ''
493+
else:
494+
info = '_slip_vector'
495+
self.vector_field().save(f'{filename}{info}.{ext}')
496+
if surface:
497+
if ext == '.geoh5':
498+
info = ''
499+
else:
500+
info = '_surface'
501+
self.surfaces([0])[0].save(f'{filename}{info}.{ext}')

0 commit comments

Comments
 (0)