File wellmet/simplex.py changed (mode: 100644) (index 4f90d6d..1e0d2c2) |
... |
... |
class _Triangulation: |
288 |
288 |
if simplices is None: |
if simplices is None: |
289 |
289 |
simplices = sx.tri.simplices |
simplices = sx.tri.simplices |
290 |
290 |
|
|
291 |
|
in_failure = np.isin(simplices, sx.sample_box.failure_points) |
|
|
291 |
|
in_failure = sx.sample_box.failsi[simplices] |
292 |
292 |
has_failure = in_failure.any(axis=1) |
has_failure = in_failure.any(axis=1) |
293 |
293 |
all_failure = in_failure.all(axis=1) |
all_failure = in_failure.all(axis=1) |
294 |
294 |
return np.int8(np.where(has_failure, np.where(all_failure, 1, 2), 0)) |
return np.int8(np.where(has_failure, np.where(all_failure, 1, 2), 0)) |
|
... |
... |
class _Triangulation: |
298 |
298 |
if simplices is None: |
if simplices is None: |
299 |
299 |
simplices = sx.tri.simplices |
simplices = sx.tri.simplices |
300 |
300 |
|
|
301 |
|
in_failure = np.isin(simplices, sx.sample_box.failure_points) |
|
|
301 |
|
in_failure = sx.sample_box.failsi[simplices] |
302 |
302 |
return np.sum(in_failure, axis=1) |
return np.sum(in_failure, axis=1) |
303 |
303 |
|
|
304 |
304 |
|
|
|
... |
... |
class _Triangulation: |
392 |
392 |
if simplices is None: |
if simplices is None: |
393 |
393 |
simplices = bx.tri.simplices |
simplices = bx.tri.simplices |
394 |
394 |
|
|
395 |
|
in_failure = np.isin(simplices, bx.failure_points) |
|
|
395 |
|
in_failure = bx.sample_box.failsi[simplices] |
396 |
396 |
has_failure = in_failure.any(axis=1) |
has_failure = in_failure.any(axis=1) |
397 |
397 |
all_failure = in_failure.all(axis=1) |
all_failure = in_failure.all(axis=1) |
398 |
398 |
return np.logical_xor(has_failure, all_failure) |
return np.logical_xor(has_failure, all_failure) |
399 |
399 |
|
|
400 |
400 |
|
|
401 |
|
|
|
|
401 |
|
|
402 |
402 |
|
|
403 |
403 |
|
|
404 |
404 |
|
|
|
... |
... |
class FullCubatureIntegration(_Triangulation): |
1087 |
1087 |
|
|
1088 |
1088 |
def integrate(sx): |
def integrate(sx): |
1089 |
1089 |
simplices = sx.tri.simplices |
simplices = sx.tri.simplices |
1090 |
|
in_failure = np.isin(simplices, sx.sample_box.failure_points) |
|
|
1090 |
|
in_failure = sx.failsi[simplices] |
1091 |
1091 |
|
|
1092 |
1092 |
has_failure = in_failure.any(axis=1) |
has_failure = in_failure.any(axis=1) |
1093 |
1093 |
all_failure = in_failure.all(axis=1) |
all_failure = in_failure.all(axis=1) |
|
... |
... |
class FastCubatureIntegration(FullCubatureIntegration): |
1386 |
1386 |
|
|
1387 |
1387 |
def integrate(sx): |
def integrate(sx): |
1388 |
1388 |
simplices = sx.tri.simplices |
simplices = sx.tri.simplices |
1389 |
|
in_failure = np.isin(simplices, sx.sample_box.failure_points) |
|
|
1389 |
|
in_failure = sx.failsi[simplices] |
1390 |
1390 |
|
|
1391 |
1391 |
has_failure = in_failure.any(axis=1) |
has_failure = in_failure.any(axis=1) |
1392 |
1392 |
simplices = simplices[has_failure] |
simplices = simplices[has_failure] |
|
... |
... |
def get_events(sb, simplices): #simplices = bx.tri.simplices |
1485 |
1485 |
""" |
""" |
1486 |
1486 |
|
|
1487 |
1487 |
|
|
1488 |
|
in_failure = np.isin(simplices, sb.failure_points) |
|
|
1488 |
|
in_failure = sb.failsi[simplices] |
1489 |
1489 |
has_failure = in_failure.any(axis=1) |
has_failure = in_failure.any(axis=1) |
1490 |
1490 |
all_failure = in_failure.all(axis=1) |
all_failure = in_failure.all(axis=1) |
1491 |
1491 |
return np.int8(np.where(has_failure, np.where(all_failure, 1, 2), 0)) |
return np.int8(np.where(has_failure, np.where(all_failure, 1, 2), 0)) |