py-pluto 1.1.4__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- pyPLUTO/__init__.py +22 -0
- pyPLUTO/amr.py +745 -0
- pyPLUTO/baseloadmixin.py +258 -0
- pyPLUTO/baseloadstate.py +45 -0
- pyPLUTO/codes/echo_load.py +161 -0
- pyPLUTO/configure.py +261 -0
- pyPLUTO/gui/config.py +174 -0
- pyPLUTO/gui/custom_var.py +435 -0
- pyPLUTO/gui/globals.py +108 -0
- pyPLUTO/gui/main.py +17 -0
- pyPLUTO/gui/main_window.py +177 -0
- pyPLUTO/gui/panels.py +66 -0
- pyPLUTO/gui/utils.py +273 -0
- pyPLUTO/h_pypluto.py +84 -0
- pyPLUTO/image.py +302 -0
- pyPLUTO/imagefuncs/colorbar.py +240 -0
- pyPLUTO/imagefuncs/contour.py +254 -0
- pyPLUTO/imagefuncs/create_axes.py +464 -0
- pyPLUTO/imagefuncs/display.py +306 -0
- pyPLUTO/imagefuncs/figure.py +395 -0
- pyPLUTO/imagefuncs/imagetools.py +487 -0
- pyPLUTO/imagefuncs/interactive.py +403 -0
- pyPLUTO/imagefuncs/legend.py +250 -0
- pyPLUTO/imagefuncs/plot.py +311 -0
- pyPLUTO/imagefuncs/range.py +242 -0
- pyPLUTO/imagefuncs/scatter.py +270 -0
- pyPLUTO/imagefuncs/set_axis.py +497 -0
- pyPLUTO/imagefuncs/streamplot.py +297 -0
- pyPLUTO/imagefuncs/zoom.py +428 -0
- pyPLUTO/imagemixin.py +259 -0
- pyPLUTO/imagestate.py +45 -0
- pyPLUTO/load.py +447 -0
- pyPLUTO/loadfuncs/baseloadtools.py +71 -0
- pyPLUTO/loadfuncs/codeselection.py +48 -0
- pyPLUTO/loadfuncs/defpluto.py +123 -0
- pyPLUTO/loadfuncs/descriptor.py +102 -0
- pyPLUTO/loadfuncs/findfiles.py +182 -0
- pyPLUTO/loadfuncs/findformat.py +245 -0
- pyPLUTO/loadfuncs/initload.py +203 -0
- pyPLUTO/loadfuncs/loadvars.py +227 -0
- pyPLUTO/loadfuncs/offsetdata.py +87 -0
- pyPLUTO/loadfuncs/offsetfluid.py +408 -0
- pyPLUTO/loadfuncs/read_files.py +213 -0
- pyPLUTO/loadfuncs/readdata.py +619 -0
- pyPLUTO/loadfuncs/readdata_old.py +567 -0
- pyPLUTO/loadfuncs/readdefplini.py +101 -0
- pyPLUTO/loadfuncs/readfluid.py +479 -0
- pyPLUTO/loadfuncs/readformat.py +277 -0
- pyPLUTO/loadfuncs/readgridalone.py +224 -0
- pyPLUTO/loadfuncs/readgridfile.py +255 -0
- pyPLUTO/loadfuncs/readgridout.py +451 -0
- pyPLUTO/loadfuncs/readpart.py +419 -0
- pyPLUTO/loadfuncs/readtab.py +105 -0
- pyPLUTO/loadfuncs/write_files.py +283 -0
- pyPLUTO/loadmixin.py +419 -0
- pyPLUTO/loadpart.py +233 -0
- pyPLUTO/loadstate.py +68 -0
- pyPLUTO/newload.py +81 -0
- pyPLUTO/pytools.py +145 -0
- pyPLUTO/toolfuncs/findlines.py +551 -0
- pyPLUTO/toolfuncs/fourier.py +149 -0
- pyPLUTO/toolfuncs/nabla.py +676 -0
- pyPLUTO/toolfuncs/parttools.py +152 -0
- pyPLUTO/toolfuncs/transform.py +638 -0
- pyPLUTO/utils/annotator.py +27 -0
- pyPLUTO/utils/inspector.py +145 -0
- pyPLUTO/utils/make_docstrings.py +3 -0
- py_pluto-1.1.4.dist-info/METADATA +218 -0
- py_pluto-1.1.4.dist-info/RECORD +73 -0
- py_pluto-1.1.4.dist-info/WHEEL +5 -0
- py_pluto-1.1.4.dist-info/entry_points.txt +2 -0
- py_pluto-1.1.4.dist-info/licenses/LICENSE +27 -0
- py_pluto-1.1.4.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,283 @@
|
|
|
1
|
+
import warnings
|
|
2
|
+
from typing import Any
|
|
3
|
+
|
|
4
|
+
import h5py
|
|
5
|
+
from numpy.typing import NDArray
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
def _write_h5(
|
|
9
|
+
self,
|
|
10
|
+
data: NDArray | dict,
|
|
11
|
+
filename: str,
|
|
12
|
+
dataname: str | None = None,
|
|
13
|
+
grid: bool = False,
|
|
14
|
+
**kwargs: Any,
|
|
15
|
+
) -> None:
|
|
16
|
+
"""Write the data to a HDF5 file.
|
|
17
|
+
|
|
18
|
+
Returns
|
|
19
|
+
-------
|
|
20
|
+
- None
|
|
21
|
+
|
|
22
|
+
Parameters
|
|
23
|
+
----------
|
|
24
|
+
- data (not optional): NDArray | dict
|
|
25
|
+
the data to write to the HDF5 file
|
|
26
|
+
- dataname: str
|
|
27
|
+
the name of the data to write to the HDF5 file
|
|
28
|
+
- filename (not optional): str
|
|
29
|
+
the name of the HDF5 file
|
|
30
|
+
- grid: bool
|
|
31
|
+
if True, write the grid to the HDF5 file
|
|
32
|
+
|
|
33
|
+
----
|
|
34
|
+
|
|
35
|
+
Examples
|
|
36
|
+
--------
|
|
37
|
+
- Example #1: Write the data to a HDF5 file
|
|
38
|
+
|
|
39
|
+
>>> write_h5("data.h5")
|
|
40
|
+
|
|
41
|
+
"""
|
|
42
|
+
# Create the path to the HDF5 file
|
|
43
|
+
path_h5 = self.pathdir / filename
|
|
44
|
+
if not filename.endswith(".h5"):
|
|
45
|
+
path_h5 += ".h5"
|
|
46
|
+
|
|
47
|
+
# Open the HDF5 file
|
|
48
|
+
with h5py.File(path_h5, "w") as f:
|
|
49
|
+
# Write the data to the HDF5 file
|
|
50
|
+
if isinstance(data, dict):
|
|
51
|
+
for key in data.keys():
|
|
52
|
+
f.create_dataset(key, data=data[key])
|
|
53
|
+
else:
|
|
54
|
+
dataname = "data" if dataname is None else dataname
|
|
55
|
+
f.create_dataset(dataname, data=data)
|
|
56
|
+
|
|
57
|
+
# Write the grid to the HDF5 file
|
|
58
|
+
if grid is True:
|
|
59
|
+
f.create_dataset("nx1", data=kwargs.get("nx1", self.nx1))
|
|
60
|
+
f.create_dataset("nx2", data=kwargs.get("nx2", self.nx2))
|
|
61
|
+
f.create_dataset("nx3", data=kwargs.get("nx3", self.nx3))
|
|
62
|
+
f.create_dataset("x1", data=kwargs.get("x1", self.x1))
|
|
63
|
+
f.create_dataset("x2", data=kwargs.get("x2", self.x2))
|
|
64
|
+
f.create_dataset("x3", data=kwargs.get("x3", self.x3))
|
|
65
|
+
f.create_dataset("dx1", data=kwargs.get("dx1", self.dx1))
|
|
66
|
+
f.create_dataset("dx2", data=kwargs.get("dx2", self.dx2))
|
|
67
|
+
f.create_dataset("dx3", data=kwargs.get("dx3", self.dx3))
|
|
68
|
+
|
|
69
|
+
# End of the function
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
def write_vtk(self):
|
|
73
|
+
"""Write the data to a VTK file.
|
|
74
|
+
|
|
75
|
+
Returns
|
|
76
|
+
-------
|
|
77
|
+
- None
|
|
78
|
+
|
|
79
|
+
Parameters
|
|
80
|
+
----------
|
|
81
|
+
- None
|
|
82
|
+
|
|
83
|
+
----
|
|
84
|
+
|
|
85
|
+
Examples
|
|
86
|
+
--------
|
|
87
|
+
- Example #1: Write the data to a VTK file
|
|
88
|
+
|
|
89
|
+
>>> write_vtk()
|
|
90
|
+
|
|
91
|
+
"""
|
|
92
|
+
raise NotImplementedError("write_vtk() is not yet implemented.")
|
|
93
|
+
# Create the path to the VTK file
|
|
94
|
+
self._pathvtk = self.pathdir / (self.format + ".vtk")
|
|
95
|
+
|
|
96
|
+
# Open the VTK file
|
|
97
|
+
with open(self._pathvtk, "w") as f:
|
|
98
|
+
# Write the header to the VTK file
|
|
99
|
+
f.write("# vtk DataFile Version 3.0\n")
|
|
100
|
+
f.write("VTK file for " + self.format + "\n")
|
|
101
|
+
f.write("ASCII\n")
|
|
102
|
+
f.write("DATASET STRUCTURED_POINTS\n")
|
|
103
|
+
f.write(
|
|
104
|
+
"DIMENSIONS "
|
|
105
|
+
+ str(self.grid["nx1"])
|
|
106
|
+
+ " "
|
|
107
|
+
+ str(self.grid["nx2"])
|
|
108
|
+
+ " "
|
|
109
|
+
+ str(self.grid["nx3"])
|
|
110
|
+
+ "\n"
|
|
111
|
+
)
|
|
112
|
+
f.write(
|
|
113
|
+
"ORIGIN "
|
|
114
|
+
+ str(self.grid["x1"][0])
|
|
115
|
+
+ " "
|
|
116
|
+
+ str(self.grid["x2"][0])
|
|
117
|
+
+ " "
|
|
118
|
+
+ str(self.grid["x3"][0])
|
|
119
|
+
+ "\n"
|
|
120
|
+
)
|
|
121
|
+
f.write(
|
|
122
|
+
"SPACING "
|
|
123
|
+
+ str(self.grid["dx1"])
|
|
124
|
+
+ " "
|
|
125
|
+
+ str(self.grid["dx2"])
|
|
126
|
+
+ " "
|
|
127
|
+
+ str(self.grid["dx3"])
|
|
128
|
+
+ "\n"
|
|
129
|
+
)
|
|
130
|
+
f.write(
|
|
131
|
+
"POINT_DATA "
|
|
132
|
+
+ str(self.grid["nx1"] * self.grid["nx2"] * self.grid["nx3"])
|
|
133
|
+
+ "\n"
|
|
134
|
+
)
|
|
135
|
+
|
|
136
|
+
# Write the data to the VTK file
|
|
137
|
+
for key in self.data.keys():
|
|
138
|
+
f.write("SCALARS " + key + " float\n")
|
|
139
|
+
f.write("LOOKUP_TABLE default\n")
|
|
140
|
+
for i in range(self.grid["nx1"]):
|
|
141
|
+
for j in range(self.grid["nx2"]):
|
|
142
|
+
for k in range(self.grid["nx3"]):
|
|
143
|
+
f.write(str(self.data[key][i, j, k]) + "\n")
|
|
144
|
+
|
|
145
|
+
# End of the function
|
|
146
|
+
|
|
147
|
+
|
|
148
|
+
def write_tab(self):
|
|
149
|
+
"""Write the data to a tab-separated file.
|
|
150
|
+
|
|
151
|
+
Returns
|
|
152
|
+
-------
|
|
153
|
+
- None
|
|
154
|
+
|
|
155
|
+
Parameters
|
|
156
|
+
----------
|
|
157
|
+
- None
|
|
158
|
+
|
|
159
|
+
----
|
|
160
|
+
|
|
161
|
+
Examples
|
|
162
|
+
--------
|
|
163
|
+
- Example #1: Write the data to a tab-separated file
|
|
164
|
+
|
|
165
|
+
>>> write_tab()
|
|
166
|
+
|
|
167
|
+
"""
|
|
168
|
+
raise NotImplementedError("write_tab() is not yet implemented.")
|
|
169
|
+
|
|
170
|
+
# Create the path to the tab-separated file
|
|
171
|
+
self._pathtab = self.pathdir / (self.format + ".tab")
|
|
172
|
+
|
|
173
|
+
# Open the tab-separated file
|
|
174
|
+
with open(self._pathtab, "w") as f:
|
|
175
|
+
# Write the header to the tab-separated file
|
|
176
|
+
f.write("# " + self.format + "\n")
|
|
177
|
+
|
|
178
|
+
# Write the data to the tab-separated file
|
|
179
|
+
for key in self.data.keys():
|
|
180
|
+
f.write("# " + key + "\n")
|
|
181
|
+
for i in range(self.grid["nx1"]):
|
|
182
|
+
for j in range(self.grid["nx2"]):
|
|
183
|
+
for k in range(self.grid["nx3"]):
|
|
184
|
+
f.write(str(self.data[key][i, j, k]) + "\t")
|
|
185
|
+
f.write("\n")
|
|
186
|
+
|
|
187
|
+
# End of the function
|
|
188
|
+
|
|
189
|
+
|
|
190
|
+
def write_bin(self):
|
|
191
|
+
"""Write the data to a binary file.
|
|
192
|
+
|
|
193
|
+
Returns
|
|
194
|
+
-------
|
|
195
|
+
- None
|
|
196
|
+
|
|
197
|
+
Parameters
|
|
198
|
+
----------
|
|
199
|
+
- None
|
|
200
|
+
|
|
201
|
+
----
|
|
202
|
+
|
|
203
|
+
Examples
|
|
204
|
+
--------
|
|
205
|
+
- Example #1: Write the data to a binary file
|
|
206
|
+
|
|
207
|
+
>>> write_bin()
|
|
208
|
+
|
|
209
|
+
"""
|
|
210
|
+
raise NotImplementedError("write_bin() is not yet implemented.")
|
|
211
|
+
|
|
212
|
+
# Create the path to the binary file
|
|
213
|
+
self._pathbin = self.pathdir / (self.format + ".bin")
|
|
214
|
+
|
|
215
|
+
# Open the binary file
|
|
216
|
+
with open(self._pathbin, "wb") as f:
|
|
217
|
+
# Write the data to the binary file
|
|
218
|
+
for key in self.data.keys():
|
|
219
|
+
f.write(self.data[key].tobytes())
|
|
220
|
+
|
|
221
|
+
# End of the function
|
|
222
|
+
|
|
223
|
+
|
|
224
|
+
def write_file(
|
|
225
|
+
self,
|
|
226
|
+
data: NDArray | dict,
|
|
227
|
+
filename: str,
|
|
228
|
+
datatype: str | None = None,
|
|
229
|
+
dataname: str | None = None,
|
|
230
|
+
grid: bool = False,
|
|
231
|
+
**kwargs: Any,
|
|
232
|
+
) -> None:
|
|
233
|
+
"""Write the data to a file.
|
|
234
|
+
|
|
235
|
+
Returns
|
|
236
|
+
-------
|
|
237
|
+
- None
|
|
238
|
+
|
|
239
|
+
Parameters
|
|
240
|
+
----------
|
|
241
|
+
- data (not optional): NDArray | dict
|
|
242
|
+
the data to write to the file
|
|
243
|
+
- datatype: str
|
|
244
|
+
the type of the file
|
|
245
|
+
- dataname: str
|
|
246
|
+
the name of the data to write to the file
|
|
247
|
+
- filename (not optional): str
|
|
248
|
+
the name of the file
|
|
249
|
+
- grid: bool
|
|
250
|
+
if True, write the grid to the file
|
|
251
|
+
- **kwargs: Any
|
|
252
|
+
additional keyword arguments
|
|
253
|
+
|
|
254
|
+
----
|
|
255
|
+
|
|
256
|
+
Examples
|
|
257
|
+
--------
|
|
258
|
+
- Example #1: Write the data to a file
|
|
259
|
+
|
|
260
|
+
>>> write_file("data.h5")
|
|
261
|
+
|
|
262
|
+
"""
|
|
263
|
+
# Check the datatype of the input data
|
|
264
|
+
if datatype is None:
|
|
265
|
+
datatype = filename.rsplit(".", maxsplit=1)[-1]
|
|
266
|
+
poss_types = {"dbl", "flt", "vtk", "h5", "tab"}
|
|
267
|
+
if datatype not in poss_types:
|
|
268
|
+
warn = f"Invalid datatype: {datatype}. Resetting to 'h5'"
|
|
269
|
+
warnings.warn(warn)
|
|
270
|
+
datatype = "h5"
|
|
271
|
+
|
|
272
|
+
# Check the format of the output files
|
|
273
|
+
if datatype == "h5":
|
|
274
|
+
_write_h5(self, data, filename, dataname, grid, **kwargs)
|
|
275
|
+
else:
|
|
276
|
+
warn = (
|
|
277
|
+
f"Invalid datatype: {datatype}, not implemented yet! "
|
|
278
|
+
"Resetting to 'h5'"
|
|
279
|
+
)
|
|
280
|
+
warnings.warn(warn)
|
|
281
|
+
pass
|
|
282
|
+
|
|
283
|
+
# End of the function
|
pyPLUTO/loadmixin.py
ADDED
|
@@ -0,0 +1,419 @@
|
|
|
1
|
+
"""Mixin class for load fluid handling."""
|
|
2
|
+
|
|
3
|
+
from typing import Any
|
|
4
|
+
|
|
5
|
+
from numpy.typing import NDArray
|
|
6
|
+
|
|
7
|
+
from pyPLUTO.baseloadmixin import BaseLoadMixin
|
|
8
|
+
from pyPLUTO.loadstate import LoadState
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class LoadMixin(BaseLoadMixin[LoadState]):
|
|
12
|
+
"""Mixin class for load fluid handling.
|
|
13
|
+
|
|
14
|
+
It provides properties and methods related to loading fluid data.
|
|
15
|
+
"""
|
|
16
|
+
|
|
17
|
+
state: LoadState
|
|
18
|
+
|
|
19
|
+
# pylint: disable=too-many-public-methods
|
|
20
|
+
|
|
21
|
+
@property
|
|
22
|
+
def defh(self) -> dict:
|
|
23
|
+
"""Get the defh attribute of the load state."""
|
|
24
|
+
return self.state.defh
|
|
25
|
+
|
|
26
|
+
@defh.setter
|
|
27
|
+
def defh(self, value: dict) -> None:
|
|
28
|
+
"""Set the defh attribute of the load state."""
|
|
29
|
+
self.state.defh = value
|
|
30
|
+
|
|
31
|
+
@property
|
|
32
|
+
def level(self) -> int:
|
|
33
|
+
"""Get the AMR refinement level."""
|
|
34
|
+
return self.state.level
|
|
35
|
+
|
|
36
|
+
@level.setter
|
|
37
|
+
def level(self, value: int) -> None:
|
|
38
|
+
"""Set the AMR refinement level."""
|
|
39
|
+
self.state.level = value
|
|
40
|
+
|
|
41
|
+
@property
|
|
42
|
+
def dim(self) -> int:
|
|
43
|
+
"""Get the dim attribute of the load state."""
|
|
44
|
+
return self.state.dim
|
|
45
|
+
|
|
46
|
+
@dim.setter
|
|
47
|
+
def dim(self, value: int) -> None:
|
|
48
|
+
"""Set the dim attribute of the load state."""
|
|
49
|
+
self.state.dim = value
|
|
50
|
+
|
|
51
|
+
@property
|
|
52
|
+
def dx1(self) -> NDArray[Any]:
|
|
53
|
+
"""Get the dx1 attribute of the load state."""
|
|
54
|
+
return self.state.dx1
|
|
55
|
+
|
|
56
|
+
@dx1.setter
|
|
57
|
+
def dx1(self, value: NDArray[Any]) -> None:
|
|
58
|
+
"""Set the dx1 attribute of the load state."""
|
|
59
|
+
self.state.dx1 = value
|
|
60
|
+
|
|
61
|
+
@property
|
|
62
|
+
def dx2(self) -> NDArray[Any]:
|
|
63
|
+
"""Get the dx2 attribute of the load state."""
|
|
64
|
+
return self.state.dx2
|
|
65
|
+
|
|
66
|
+
@dx2.setter
|
|
67
|
+
def dx2(self, value: NDArray[Any]) -> None:
|
|
68
|
+
"""Set the dx2 attribute of the load state."""
|
|
69
|
+
self.state.dx2 = value
|
|
70
|
+
|
|
71
|
+
@property
|
|
72
|
+
def dx3(self) -> NDArray[Any]:
|
|
73
|
+
"""Get the dx3 attribute of the load state."""
|
|
74
|
+
return self.state.dx3
|
|
75
|
+
|
|
76
|
+
@dx3.setter
|
|
77
|
+
def dx3(self, value: NDArray[Any]) -> None:
|
|
78
|
+
"""Set the dx3 attribute of the load state."""
|
|
79
|
+
self.state.dx3 = value
|
|
80
|
+
|
|
81
|
+
@property
|
|
82
|
+
def full3D(self) -> bool:
|
|
83
|
+
"""Get the full3D attribute of the load state."""
|
|
84
|
+
return self.state.full3D
|
|
85
|
+
|
|
86
|
+
@full3D.setter
|
|
87
|
+
def full3D(self, value: bool) -> None:
|
|
88
|
+
"""Set the full3D attribute of the load state."""
|
|
89
|
+
self.state.full3D = value
|
|
90
|
+
|
|
91
|
+
@property
|
|
92
|
+
def geom(self) -> str:
|
|
93
|
+
"""Get the geom attribute of the load state."""
|
|
94
|
+
return self.state.geom
|
|
95
|
+
|
|
96
|
+
@geom.setter
|
|
97
|
+
def geom(self, value: str) -> None:
|
|
98
|
+
"""Set the geom attribute of the load state."""
|
|
99
|
+
self.state.geom = value
|
|
100
|
+
|
|
101
|
+
@property
|
|
102
|
+
def gridsize(self) -> int:
|
|
103
|
+
"""Get the gridsize attribute of the load state."""
|
|
104
|
+
return self.state.gridsize
|
|
105
|
+
|
|
106
|
+
@gridsize.setter
|
|
107
|
+
def gridsize(self, value: int) -> None:
|
|
108
|
+
"""Set the gridsize attribute of the load state."""
|
|
109
|
+
self.state.gridsize = value
|
|
110
|
+
|
|
111
|
+
@property
|
|
112
|
+
def gridsize_st1(self) -> int:
|
|
113
|
+
"""Get the gridsize_st1 attribute of the load state."""
|
|
114
|
+
return self.state.gridsize_st1
|
|
115
|
+
|
|
116
|
+
@gridsize_st1.setter
|
|
117
|
+
def gridsize_st1(self, value: int) -> None:
|
|
118
|
+
"""Set the gridsize_st1 attribute of the load state."""
|
|
119
|
+
self.state.gridsize_st1 = value
|
|
120
|
+
|
|
121
|
+
@property
|
|
122
|
+
def gridsize_st2(self) -> int:
|
|
123
|
+
"""Get the gridsize_st2 attribute of the load state."""
|
|
124
|
+
return self.state.gridsize_st2
|
|
125
|
+
|
|
126
|
+
@gridsize_st2.setter
|
|
127
|
+
def gridsize_st2(self, value: int) -> None:
|
|
128
|
+
"""Set the gridsize_st2 attribute of the load state."""
|
|
129
|
+
self.state.gridsize_st2 = value
|
|
130
|
+
|
|
131
|
+
@property
|
|
132
|
+
def gridsize_st3(self) -> int:
|
|
133
|
+
"""Get the gridsize_st3 attribute of the load state."""
|
|
134
|
+
return self.state.gridsize_st3
|
|
135
|
+
|
|
136
|
+
@gridsize_st3.setter
|
|
137
|
+
def gridsize_st3(self, value: int) -> None:
|
|
138
|
+
"""Set the gridsize_st3 attribute of the load state."""
|
|
139
|
+
self.state.gridsize_st3 = value
|
|
140
|
+
|
|
141
|
+
@property
|
|
142
|
+
def nshp(self) -> int | tuple[int, ...]:
|
|
143
|
+
"""Get the nshp attribute of the load state."""
|
|
144
|
+
return self.state.nshp
|
|
145
|
+
|
|
146
|
+
@nshp.setter
|
|
147
|
+
def nshp(self, value: int | tuple[int, ...]) -> None:
|
|
148
|
+
"""Set the nshp attribute of the load state."""
|
|
149
|
+
self.state.nshp = value
|
|
150
|
+
|
|
151
|
+
@property
|
|
152
|
+
def nshp_st1(self) -> int | tuple[int, ...] | None:
|
|
153
|
+
"""Get the nshp_st1 attribute of the load state."""
|
|
154
|
+
return self.state.nshp_st1
|
|
155
|
+
|
|
156
|
+
@nshp_st1.setter
|
|
157
|
+
def nshp_st1(self, value: int | tuple[int, ...] | None) -> None:
|
|
158
|
+
"""Set the nshp_st1 attribute of the load state."""
|
|
159
|
+
self.state.nshp_st1 = value
|
|
160
|
+
|
|
161
|
+
@property
|
|
162
|
+
def nshp_st2(self) -> tuple[int, ...] | None:
|
|
163
|
+
"""Get the nshp_st2 attribute of the load state."""
|
|
164
|
+
return self.state.nshp_st2
|
|
165
|
+
|
|
166
|
+
@nshp_st2.setter
|
|
167
|
+
def nshp_st2(self, value: tuple[int, ...] | None) -> None:
|
|
168
|
+
"""Set the nshp_st2 attribute of the load state."""
|
|
169
|
+
self.state.nshp_st2 = value
|
|
170
|
+
|
|
171
|
+
@property
|
|
172
|
+
def nshp_st3(self) -> tuple[int, ...] | None:
|
|
173
|
+
"""Get the nshp_st3 attribute of the load state."""
|
|
174
|
+
return self.state.nshp_st3
|
|
175
|
+
|
|
176
|
+
@nshp_st3.setter
|
|
177
|
+
def nshp_st3(self, value: tuple[int, ...] | None) -> None:
|
|
178
|
+
"""Set the nshp_st3 attribute of the load state."""
|
|
179
|
+
self.state.nshp_st3 = value
|
|
180
|
+
|
|
181
|
+
@property
|
|
182
|
+
def nx1(self) -> int:
|
|
183
|
+
"""Get the nx1 attribute of the load state."""
|
|
184
|
+
return self.state.nx1
|
|
185
|
+
|
|
186
|
+
@nx1.setter
|
|
187
|
+
def nx1(self, value: int) -> None:
|
|
188
|
+
"""Set the nx1 attribute of the load state."""
|
|
189
|
+
self.state.nx1 = value
|
|
190
|
+
|
|
191
|
+
@property
|
|
192
|
+
def nx2(self) -> int:
|
|
193
|
+
"""Get the nx2 attribute of the load state."""
|
|
194
|
+
return self.state.nx2
|
|
195
|
+
|
|
196
|
+
@nx2.setter
|
|
197
|
+
def nx2(self, value: int) -> None:
|
|
198
|
+
"""Set the nx2 attribute of the load state."""
|
|
199
|
+
self.state.nx2 = value
|
|
200
|
+
|
|
201
|
+
@property
|
|
202
|
+
def nx3(self) -> int:
|
|
203
|
+
"""Get the nx3 attribute of the load state."""
|
|
204
|
+
return self.state.nx3
|
|
205
|
+
|
|
206
|
+
@nx3.setter
|
|
207
|
+
def nx3(self, value: int) -> None:
|
|
208
|
+
"""Set the nx3 attribute of the load state."""
|
|
209
|
+
self.state.nx3 = value
|
|
210
|
+
|
|
211
|
+
@property
|
|
212
|
+
def plini(self) -> dict:
|
|
213
|
+
"""Get the plini attribute of the load state."""
|
|
214
|
+
return self.state.plini
|
|
215
|
+
|
|
216
|
+
@plini.setter
|
|
217
|
+
def plini(self, value: dict) -> None:
|
|
218
|
+
"""Set the plini attribute of the load state."""
|
|
219
|
+
self.state.plini = value
|
|
220
|
+
|
|
221
|
+
@property
|
|
222
|
+
def x1(self) -> NDArray[Any]:
|
|
223
|
+
"""Get the x1 attribute of the load state."""
|
|
224
|
+
return self.state.x1
|
|
225
|
+
|
|
226
|
+
@x1.setter
|
|
227
|
+
def x1(self, value: NDArray[Any]) -> None:
|
|
228
|
+
"""Set the x1 attribute of the load state."""
|
|
229
|
+
self.state.x1 = value
|
|
230
|
+
|
|
231
|
+
@property
|
|
232
|
+
def x1c(self) -> NDArray[Any]:
|
|
233
|
+
"""Get the x1c attribute of the load state."""
|
|
234
|
+
return self.state.x1c
|
|
235
|
+
|
|
236
|
+
@x1c.setter
|
|
237
|
+
def x1c(self, value: NDArray[Any]) -> None:
|
|
238
|
+
"""Set the x1c attribute of the load state."""
|
|
239
|
+
self.state.x1c = value
|
|
240
|
+
|
|
241
|
+
@property
|
|
242
|
+
def x1p(self) -> NDArray[Any]:
|
|
243
|
+
"""Get the x1p attribute of the load state."""
|
|
244
|
+
return self.state.x1p
|
|
245
|
+
|
|
246
|
+
@x1p.setter
|
|
247
|
+
def x1p(self, value: NDArray[Any]) -> None:
|
|
248
|
+
"""Set the x1p attribute of the load state."""
|
|
249
|
+
self.state.x1p = value
|
|
250
|
+
|
|
251
|
+
@property
|
|
252
|
+
def x1r(self) -> NDArray[Any]:
|
|
253
|
+
"""Get the x1r attribute of the load state."""
|
|
254
|
+
return self.state.x1r
|
|
255
|
+
|
|
256
|
+
@x1r.setter
|
|
257
|
+
def x1r(self, value: NDArray[Any]) -> None:
|
|
258
|
+
"""Set the x1r attribute of the load state."""
|
|
259
|
+
self.state.x1r = value
|
|
260
|
+
|
|
261
|
+
@property
|
|
262
|
+
def x1rc(self) -> NDArray[Any]:
|
|
263
|
+
"""Get the x1rc attribute of the load state."""
|
|
264
|
+
return self.state.x1rc
|
|
265
|
+
|
|
266
|
+
@x1rc.setter
|
|
267
|
+
def x1rc(self, value: NDArray[Any]) -> None:
|
|
268
|
+
"""Set the x1rc cattribute of the load state."""
|
|
269
|
+
self.state.x1rc = value
|
|
270
|
+
|
|
271
|
+
@property
|
|
272
|
+
def x1rp(self) -> NDArray[Any]:
|
|
273
|
+
"""Get the x1rp attribute of the load state."""
|
|
274
|
+
return self.state.x1rp
|
|
275
|
+
|
|
276
|
+
@x1rp.setter
|
|
277
|
+
def x1rp(self, value: NDArray[Any]) -> None:
|
|
278
|
+
"""Set the x1rp attribute of the load state."""
|
|
279
|
+
self.state.x1rp = value
|
|
280
|
+
|
|
281
|
+
@property
|
|
282
|
+
def x1rt(self) -> NDArray[Any]:
|
|
283
|
+
"""Get the x1rt attribute of the load state."""
|
|
284
|
+
return self.state.x1rt
|
|
285
|
+
|
|
286
|
+
@x1rt.setter
|
|
287
|
+
def x1rt(self, value: NDArray[Any]) -> None:
|
|
288
|
+
"""Set the x1rt attribute of the load state."""
|
|
289
|
+
self.state.x1rt = value
|
|
290
|
+
|
|
291
|
+
@property
|
|
292
|
+
def x1t(self) -> NDArray[Any]:
|
|
293
|
+
"""Get the x1t attribute of the load state."""
|
|
294
|
+
return self.state.x1t
|
|
295
|
+
|
|
296
|
+
@x1t.setter
|
|
297
|
+
def x1t(self, value: NDArray[Any]) -> None:
|
|
298
|
+
"""Set the x1t attribute of the load state."""
|
|
299
|
+
self.state.x1t = value
|
|
300
|
+
|
|
301
|
+
@property
|
|
302
|
+
def x2(self) -> NDArray[Any]:
|
|
303
|
+
"""Get the x2 attribute of the load state."""
|
|
304
|
+
return self.state.x2
|
|
305
|
+
|
|
306
|
+
@x2.setter
|
|
307
|
+
def x2(self, value: NDArray[Any]) -> None:
|
|
308
|
+
"""Set the x2 attribute of the load state."""
|
|
309
|
+
self.state.x2 = value
|
|
310
|
+
|
|
311
|
+
@property
|
|
312
|
+
def x2c(self) -> NDArray[Any]:
|
|
313
|
+
"""Get the x2c attribute of the load state."""
|
|
314
|
+
return self.state.x2c
|
|
315
|
+
|
|
316
|
+
@x2c.setter
|
|
317
|
+
def x2c(self, value: NDArray[Any]) -> None:
|
|
318
|
+
"""Set the x2c attribute of the load state."""
|
|
319
|
+
self.state.x2c = value
|
|
320
|
+
|
|
321
|
+
@property
|
|
322
|
+
def x2p(self) -> NDArray[Any]:
|
|
323
|
+
"""Get the x2p attribute of the load state."""
|
|
324
|
+
return self.state.x2p
|
|
325
|
+
|
|
326
|
+
@x2p.setter
|
|
327
|
+
def x2p(self, value: NDArray[Any]) -> None:
|
|
328
|
+
"""Set the x2p attribute of the load state."""
|
|
329
|
+
self.state.x2p = value
|
|
330
|
+
|
|
331
|
+
@property
|
|
332
|
+
def x2r(self) -> NDArray[Any]:
|
|
333
|
+
"""Get the x2r attribute of the load state."""
|
|
334
|
+
return self.state.x2r
|
|
335
|
+
|
|
336
|
+
@x2r.setter
|
|
337
|
+
def x2r(self, value: NDArray[Any]) -> None:
|
|
338
|
+
"""Set the x2r attribute of the load state."""
|
|
339
|
+
self.state.x2r = value
|
|
340
|
+
|
|
341
|
+
@property
|
|
342
|
+
def x2rc(self) -> NDArray[Any]:
|
|
343
|
+
"""Get the x2rc attribute of the load state."""
|
|
344
|
+
return self.state.x2rc
|
|
345
|
+
|
|
346
|
+
@x2rc.setter
|
|
347
|
+
def x2rc(self, value: NDArray[Any]) -> None:
|
|
348
|
+
"""Set the x2rc attribute of the load state."""
|
|
349
|
+
self.state.x2rc = value
|
|
350
|
+
|
|
351
|
+
@property
|
|
352
|
+
def x2rp(self) -> NDArray[Any]:
|
|
353
|
+
"""Get the x2rp attribute of the load state."""
|
|
354
|
+
return self.state.x2rp
|
|
355
|
+
|
|
356
|
+
@x2rp.setter
|
|
357
|
+
def x2rp(self, value: NDArray[Any]) -> None:
|
|
358
|
+
"""Set the x2rp attribute of the load state."""
|
|
359
|
+
self.state.x2rp = value
|
|
360
|
+
|
|
361
|
+
@property
|
|
362
|
+
def x3(self) -> NDArray[Any]:
|
|
363
|
+
"""Get the x3 attribute of the load state."""
|
|
364
|
+
return self.state.x3
|
|
365
|
+
|
|
366
|
+
@x3.setter
|
|
367
|
+
def x3(self, value: NDArray[Any]) -> None:
|
|
368
|
+
"""Set the x3 attribute of the load state."""
|
|
369
|
+
self.state.x3 = value
|
|
370
|
+
|
|
371
|
+
@property
|
|
372
|
+
def x3c(self) -> NDArray[Any]:
|
|
373
|
+
"""Get the x3c attribute of the load state."""
|
|
374
|
+
return self.state.x3c
|
|
375
|
+
|
|
376
|
+
@x3c.setter
|
|
377
|
+
def x3c(self, value: NDArray[Any]) -> None:
|
|
378
|
+
"""Set the x3c attribute of the load state."""
|
|
379
|
+
self.state.x3c = value
|
|
380
|
+
|
|
381
|
+
@property
|
|
382
|
+
def x3r(self) -> NDArray[Any]:
|
|
383
|
+
"""Get the x3r attribute of the load state."""
|
|
384
|
+
return self.state.x3r
|
|
385
|
+
|
|
386
|
+
@x3r.setter
|
|
387
|
+
def x3r(self, value: NDArray[Any]) -> None:
|
|
388
|
+
"""Set the x3r attribute of the load state."""
|
|
389
|
+
self.state.x3r = value
|
|
390
|
+
|
|
391
|
+
@property
|
|
392
|
+
def x3rc(self) -> NDArray[Any]:
|
|
393
|
+
"""Get the x3rc attribute of the load state."""
|
|
394
|
+
return self.state.x3rc
|
|
395
|
+
|
|
396
|
+
@x3rc.setter
|
|
397
|
+
def x3rc(self, value: NDArray[Any]) -> None:
|
|
398
|
+
"""Set the x3rc attribute of the load state."""
|
|
399
|
+
self.state.x3rc = value
|
|
400
|
+
|
|
401
|
+
@property
|
|
402
|
+
def x3rt(self) -> NDArray[Any]:
|
|
403
|
+
"""Get the x3rt attribute of the load state."""
|
|
404
|
+
return self.state.x3rt
|
|
405
|
+
|
|
406
|
+
@x3rt.setter
|
|
407
|
+
def x3rt(self, value: NDArray[Any]) -> None:
|
|
408
|
+
"""Set the x3rt attribute of the load state."""
|
|
409
|
+
self.state.x3rt = value
|
|
410
|
+
|
|
411
|
+
@property
|
|
412
|
+
def x3t(self) -> NDArray[Any]:
|
|
413
|
+
"""Get the x3t attribute of the load state."""
|
|
414
|
+
return self.state.x3t
|
|
415
|
+
|
|
416
|
+
@x3t.setter
|
|
417
|
+
def x3t(self, value: NDArray[Any]) -> None:
|
|
418
|
+
"""Set the x3t attribute of the load state."""
|
|
419
|
+
self.state.x3t = value
|