-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcheckSimulation.py
More file actions
75 lines (49 loc) · 1.46 KB
/
Copy pathcheckSimulation.py
File metadata and controls
75 lines (49 loc) · 1.46 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
import numpy as np
import copy
from .constants import *
from .boundary import Boundary
def boundaries(Scenario, Boundaries):
if np.size(Scenario.Iabs) == 1:
names = ["Top","Bottom", "Left", "Right"]
Boundaries = [Boundary(name, BC=BC.AirLayer, size=0) for name in names]
return Boundaries
def boundariesReLoad(Scenario, Materials, Boundaries, Transducer, Inspection, Simulation=None):
"""
:rtype : object
"""
isChange = False
if np.size(Scenario.Iabs) == 1:
names = ["Top","Bottom", "Left", "Right"]
boundaries = [Boundary(name, BC=BC.AirLayer, size=0) for name in names]
Boundaries = copy.deepcopy(boundaries)
Scenario.createBoundaries(boundaries)
isChange = True
if Simulation is not None:
Simulation.reLoad(Materials, Scenario,Transducer)
return Scenario, Boundaries, isChange
def labels(Scenario, Materials):
numLabels = np.size(np.unique(Scenario.I))
numMaterials = len(Materials)
if numLabels == numMaterials:
return 0
elif numLabels > numMaterials:
return 1
elif numLabels < numMaterials:
return 2
def isLabelsEquals(Scenario, Materials):
labels = np.unique(Scenario.I).tolist()
mat = [material.Label for material in Materials]
s1 = set(labels)
s2 = set(mat)
if s1.issubset(s2):
return 0
else:
return 1
def materials(Materials):
mat = [material.Label for material in Materials]
length = len(mat)
unique_Length = np.size(np.unique(mat))
if length == unique_Length:
return 0
else:
return 1