An error occurred while loading the file. Please try again.
-
Pierre-Antoine Rouby authored6b1a77b2
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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
# -*- coding: utf-8 -*-
from Model.Except import NotImplementedMethodeError
class BoundaryCondition(object):
def __init__(self, name:str = ""):
super(BoundaryCondition, self).__init__()
self._name = name
self._type = ""
self._node = None
self._data = []
self._header = []
self._types = [int, float]
@property
def name(self):
return self._name
@name.setter
def name(self, name):
self._name = name
@property
def bctype(self):
return self._type
@property
def node(self):
return self._node
@node.setter
def node(self, node):
self._node = node
def has_node(self):
return self._node is not None
@property
def header(self):
return self._header.copy()
@property
def data(self):
return self._data.copy()
def _default_0(self):
return self._types[0](0)
def _default_1(self):
return self._types[1](0.0)
def is_define(self):
return self._data is not None
def add(self, index:int):
value = (self.default_0, self_default_1)
self._data.insert(index, value)
def insert(self, index:int, value):
self._data.insert(index, value)
def delete(self, indexes):
self._data = list(
map(
lambda e: e[1],
filter(
lambda e: e[0] not in indexes,
enumerate(self.data)
)
)
)
def sort(self, _reverse):
self._data.sort(reverse=_reverse)
def get_i(self, index):
return self.data[index]
def _set_i_c_v(self, index, column, value):
v = list(self._data[index])
v[column] = self._types[column](value)
self._data[index] = tuple(v)
def set_i_0(self, index:int, value):
self._set_i_c_v(index, 0, value)
def set_i_1(self, index:int, value):
self._set_i_c_v(index, 1, value)
def convert(self, cls):
new = cls(name = self.name)
for i, _ in self.data:
new.add(i)
for i in [0,1]:
for j in [0,1]:
if self._header[i] == new.header[j]:
for ind, v in self.data:
new._set_i_c_v(ind, j, v[i])
return new