Skip to content

Commit d2e1f0b

Browse files
author
Lachlan Grose
committed
fix: 🐛 changes support barycentre to property
barycentre() change to barycentre
1 parent 2cbdab7 commit d2e1f0b

File tree

8 files changed

+23
-22
lines changed

8 files changed

+23
-22
lines changed

LoopStructural/interpolators/_discrete_fold_interpolator.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,7 @@ def add_fold_constraints(
127127
]
128128
# calculate the fold geometry for the elements barycentre
129129
deformed_orientation, fold_axis, dgz = self.fold.get_deformed_orientation(
130-
self.support.barycentre()
130+
self.support.barycentre
131131
)
132132
element_idx = np.arange(self.support.n_elements)
133133
np.random.shuffle(element_idx)

LoopStructural/interpolators/piecewiselinear_interpolator.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -113,13 +113,13 @@ def add_constant_gradient(
113113
"""
114114
if direction_feature is not None:
115115
direction_vector = direction_feature.evaluate_gradient(
116-
self.support.barycentre()
116+
self.support.barycentre
117117
)
118118
if direction_vector is not None:
119119
if direction_vector.shape[0] == 1:
120120
# if using a constant direction, tile array so it works for cg calc
121121
direction_vector = np.tile(
122-
direction_vector, (self.support.barycentre().shape[0], 1)
122+
direction_vector, (self.support.barycentre.shape[0], 1)
123123
)
124124
if direction_vector is not None:
125125
logger.info("Running constant gradient")

LoopStructural/interpolators/supports/_3d_structured_grid.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ def __init__(
3737
self.regions["everywhere"] = np.ones(self.n_nodes).astype(bool)
3838
self.name = name
3939

40+
@property
4041
def barycentre(self):
4142
return self.cell_centres(np.arange(self.n_elements))
4243

LoopStructural/interpolators/supports/_3d_structured_tetra.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,8 @@ def n_elements(self):
3939
def n_cells(self):
4040
return np.product(self.nsteps_cells)
4141

42-
def barycentre(self, elements=None):
42+
@property
43+
def barycentre(self):
4344
"""
4445
Return the barycentres of all tetrahedrons or of specified tetras using
4546
global index
@@ -53,8 +54,7 @@ def barycentre(self, elements=None):
5354
-------
5455
5556
"""
56-
if elements is None:
57-
elements = np.arange(0, self.ntetra)
57+
5858
tetra = self.get_elements()[elements]
5959
barycentre = np.sum(self.nodes[tetra][:, :, :], axis=1) / 4.0
6060
return barycentre

LoopStructural/modelling/features/geological_feature_builder.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -317,14 +317,14 @@ def add_data_to_interpolator(
317317
def install_gradient_constraint(self):
318318
for g in self._orthogonal_features.values():
319319
feature, w, region, step, B = g
320-
vector = feature.evaluate_gradient(self.interpolator.support.barycentre())
320+
vector = feature.evaluate_gradient(self.interpolator.support.barycentre)
321321
norm = np.linalg.norm(vector, axis=1)
322322

323323
vector[norm > 0] /= norm[norm > 0, None]
324324
element_idx = np.arange(self.interpolator.support.n_elements)
325325
np.random.shuffle(element_idx)
326326
self.interpolator.add_gradient_orthogonal_constraints(
327-
self.interpolator.support.barycentre()[element_idx[::step], :],
327+
self.interpolator.support.barycentre[element_idx[::step], :],
328328
vector[element_idx[::step], :],
329329
w=w,
330330
B=B,

examples/2_fold/plot_adding_folds_to_surfaces.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -224,7 +224,7 @@
224224
alpha=0.5)
225225
viewer.add_data(stratigraphy)
226226
# viewer.add_isosurface(fold_frame[1],colour='green',alpha=0.5)
227-
# viewer.add_vector_field(fold_frame[0],locations=fold_frame[0].get_interpolator().support.barycentre())
227+
# viewer.add_vector_field(fold_frame[0],locations=fold_frame[0].get_interpolator().support.barycentre)
228228
# viewer.add_data(fold_frame[1])
229229

230230
# viewer.add_data(stratigraphy)

examples/2_fold/plot_refolded_folds.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@
123123
viewer = LavaVuModelViewer(model)
124124
viewer.add_isosurface(s0,nslices=10,paint_with=s0,cmap='tab20')
125125
# viewer.add_data(s0)
126-
# viewer.add_fold(s0['fold'],locations=s0['support'].barycentre()[::80])
126+
# viewer.add_fold(s0['fold'],locations=s0['support'].barycentre[::80])
127127
viewer.rotate([-69.11979675292969, 15.704944610595703, 6.00014591217041])
128128
viewer.display()
129129

tests/unit_tests/interpolator/test_discrete_supports.py

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,8 @@ def test_evaluate_value():
2727
grid = StructuredGrid()
2828
assert (
2929
np.sum(
30-
grid.barycentre()[:, 0]
31-
- grid.evaluate_value(grid.barycentre(), grid.nodes[:, 0])
30+
grid.barycentre[:, 0]
31+
- grid.evaluate_value(grid.barycentre, grid.nodes[:, 0])
3232
)
3333
== 0
3434
)
@@ -37,12 +37,12 @@ def test_evaluate_value():
3737
def test_evaluate_gradient():
3838
grid = StructuredGrid()
3939
# test by setting the scalar field to the y coordinate
40-
vector = grid.evaluate_gradient(grid.barycentre(), grid.nodes[:, 1])
40+
vector = grid.evaluate_gradient(grid.barycentre, grid.nodes[:, 1])
4141
assert np.sum(vector - np.array([0, 1, 0])) == 0
4242

4343
# same test but for a bigger grid, making sure scaling for cell is ok
4444
grid = StructuredGrid(step_vector=np.array([100, 100, 100]))
45-
vector = grid.evaluate_gradient(grid.barycentre(), grid.nodes[:, 1])
45+
vector = grid.evaluate_gradient(grid.barycentre, grid.nodes[:, 1])
4646
assert np.sum(vector - np.array([0, 1, 0])) == 0
4747

4848

@@ -68,7 +68,7 @@ def test_evaluate_gradient2():
6868

6969
def test_get_element():
7070
grid = StructuredGrid()
71-
point = grid.barycentre()[[0], :]
71+
point = grid.barycentre[[0], :]
7272
idc, inside = grid.position_to_cell_corners(point)
7373
bary = np.mean(grid.nodes[idc, :], axis=0)
7474
assert np.sum(point - bary) == 0
@@ -108,19 +108,19 @@ def test_create_structured_grid2d_origin_nsteps():
108108
def test_evaluate_value_2d():
109109
grid = StructuredGrid2D()
110110
grid.update_property('X',grid.nodes[:,0])
111-
assert np.sum(grid.barycentre()[:,0] -
112-
grid.evaluate_value(grid.barycentre(),'X')) ==0
111+
assert np.sum(grid.barycentre[:,0] -
112+
grid.evaluate_value(grid.barycentre,'X')) ==0
113113

114114
def test_evaluate_gradient_2d():
115115
grid = StructuredGrid2D()
116116
grid.update_property('Y',grid.nodes[:,1])
117-
vector = np.mean(grid.evaluate_gradient(grid.barycentre(),'Y'),axis=0)
117+
vector = np.mean(grid.evaluate_gradient(grid.barycentre,'Y'),axis=0)
118118
# vector/=np.linalg.norm(vector)
119119
assert np.sum(vector-np.array([0,grid.step_vector[1]])) == 0
120120

121121
def test_get_element_2d():
122122
grid = StructuredGrid2D()
123-
point = grid.barycentre()[[0],:]
123+
point = grid.barycentre[[0],:]
124124
idc, inside = grid.position_to_cell_corners(point)
125125
bary = np.mean(grid.nodes[idc,:],axis=0)
126126
assert np.sum(point-bary) == 0
@@ -169,8 +169,8 @@ def test_evaluate_value_tetmesh():
169169
grid = TetMesh()
170170
assert (
171171
np.sum(
172-
grid.barycentre()[:, 0]
173-
- grid.evaluate_value(grid.barycentre(), grid.nodes[:, 0])
172+
grid.barycentre[:, 0]
173+
- grid.evaluate_value(grid.barycentre, grid.nodes[:, 0])
174174
)
175175
== 0
176176
)
@@ -179,7 +179,7 @@ def test_evaluate_value_tetmesh():
179179
def test_evaluate_gradient_tetmesh():
180180
grid = TetMesh()
181181
vector = np.mean(
182-
grid.evaluate_gradient(grid.barycentre(), grid.nodes[:, 1]), axis=0
182+
grid.evaluate_gradient(grid.barycentre, grid.nodes[:, 1]), axis=0
183183
)
184184
# vector/=np.linalg.norm(vector)
185185
assert np.sum(vector - np.array([0, grid.step_vector[1], 0])) == 0

0 commit comments

Comments
 (0)