Note
Go to the end to download the full example code.
Fluid-structure interaction¶
This example originates from the GitHub repository maintained by Professor Quan Gu of Xiamen University. Refer to: OpenSeesXMU
import matplotlib.pyplot as plt
import openseespy.opensees as ops
import opstool as opst
ops.wipe()
ops.model("basic", "-ndm", 3, "-ndf", 3)
ops.node(1, 1.0, 0.0, 0.0)
ops.node(2, 1.0, 1.0, 0.0)
ops.node(3, 0.0, 1.0, 0.0)
ops.node(4, 0.0, 0.0, 0.0)
ops.node(5, 1.0, 0.0, 1.0)
ops.node(6, 1.0, 1.0, 1.0)
ops.node(7, 0.0, 1.0, 1.0)
ops.node(8, 0.0, 0.0, 1.0)
ops.nDMaterial("TruncatedDP", 1, 3, 2400000, 14957000000.0, 17677000000.0, 0.11, 26614000.0, -2068400.0)
ops.element("bbarBrick", 1, 1, 2, 3, 4, 5, 6, 7, 8, 1, 0, 0, -23520000.0)
LinearCap nDmaterial - Written: Quan Gu and Zhijian Qiu
ops.element("VS3D4", 5, 3, 4, 8, 7, 25000000000.0, 100000000000.0, 2600, 475, 1.33, 0.67)
ops.element("VS3D4", 6, 1, 2, 6, 5, 25000000000.0, 100000000000.0, 2600, 475, 1.33, 0.67)
ops.element("VS3D4", 7, 1, 2, 3, 4, 25000000000.0, 100000000000.0, 2600, 475, 1.33, 0.67)
ops.element("VS3D4", 8, 1, 5, 8, 4, 25000000000.0, 100000000000.0, 2600, 475, 1.33, 0.67)
ops.model("basic", "-ndm", 3, "-ndf", 1)
ops.node(9, 1.0, 1.0, 0.0)
ops.node(10, 1.0, 2.0, 0.0)
ops.node(11, 0.0, 2.0, 0.0)
ops.node(12, 0.0, 1.0, 0.0)
ops.node(13, 1.0, 1.0, 1.0)
ops.node(14, 1.0, 2.0, 1.0)
ops.node(15, 0.0, 2.0, 1.0)
ops.node(16, 0.0, 1.0, 1.0)
ops.nDMaterial("AcousticMedium", 2, 2070000000.0, 1000)
ops.element("AC3D8", 3, 9, 10, 11, 12, 13, 14, 15, 16, 2)
ops.element("ASI3D8", 2, 2, 3, 6, 7, 9, 12, 13, 16)
ops.element("AV3D4", 4, 10, 11, 15, 14, 2)
ops.fix(13, 1)
ops.fix(14, 1)
ops.fix(15, 1)
ops.fix(16, 1)
fig = opst.vis.plotly.plot_model()
fig
# fig.write_html("model.html", full_html=False, include_plotlyjs="cdn")
# fig.show()
ops.timeSeries("Path", 1, "-dt", 0.01, "-filePath", "utils/elcentro.txt", "-factor", 3)
ops.pattern("Plain", 111, 1)
ops.load(1, 1000000.0, 0, 1000000.0)
ops.load(2, 1000000.0, 0, 1000000.0)
ops.load(3, 1000000.0, 0, 1000000.0)
ops.load(4, 1000000.0, 0, 1000000.0)
ops.wipeAnalysis()
ops.constraints("Transformation")
ops.system("BandGeneral")
ops.numberer("Plain")
ops.test("NormDispIncr", 1e-05, 20, 0)
ops.algorithm("Newton")
ops.integrator("Newmark", 0.5, 0.25)
ops.analysis("Transient")
ODB = opst.post.CreateODB(odb_tag="FSI", project_gauss_to_nodes="copy")
N = 1600
for i in range(N):
ops.analyze(1, 0.01)
ODB.fetch_response_step()
ODB.save_response()
ops.wipeAnalysis()
print("Dynamic analysis done...")
OPSTOOL :: All responses data with _odb_tag = FSI saved in G:\opstool\docs\.opstool.output/RespStepData-FSI.nc!
Dynamic analysis done...
node_resp = opst.post.get_nodal_responses(odb_tag="FSI")
OPSTOOL :: Loading all response data from G:\opstool\docs\.opstool.output/RespStepData-FSI.nc ...
node5_resp = node_resp.sel(nodeTags=5)
node6_resp = node_resp.sel(nodeTags=6)
plt.plot(node5_resp.time, node5_resp["disp"].sel(DOFs="UX"), "b-", label="Node 5 - Disp X")
plt.plot(node6_resp.time, node6_resp["disp"].sel(DOFs="UX"), "r--", label="Node 6 - Disp X")
plt.legend()
plt.show()

plt.plot(node5_resp.time, node5_resp["accel"].sel(DOFs="UX"), "b-", label="Node 5 - Accel X")
plt.plot(node6_resp.time, node6_resp["accel"].sel(DOFs="UX"), "r--", label="Node 6 - Accel X")
plt.legend()
plt.show()

opst.post.get_element_responses(odb_tag="FSI", ele_type="Brick")
OPSTOOL :: Loading Brick response data from G:\opstool\docs\.opstool.output/RespStepData-FSI.nc ...
<xarray.Dataset> Size: 5MB
Dimensions: (time: 1601, eleTags: 2, GaussPoints: 8,
stressDOFs: 6, strainDOFs: 6, nodeTags: 8,
measures: 7)
Coordinates:
* time (time) float32 6kB 0.0 0.01 0.02 ... 15.98 15.99 16.0
* eleTags (eleTags) int32 8B 1 3
* GaussPoints (GaussPoints) int32 32B 1 2 3 4 5 6 7 8
* stressDOFs (stressDOFs) <U7 168B 'sigma11' ... 'sigma13'
* strainDOFs (strainDOFs) <U5 120B 'eps11' 'eps22' ... 'eps13'
* nodeTags (nodeTags) int32 32B 1 2 3 4 5 6 7 8
* measures (measures) <U9 252B 'p1' 'p2' ... 'tau_oct'
Data variables:
Stresses (time, eleTags, GaussPoints, stressDOFs) float32 615kB ...
Strains (time, eleTags, GaussPoints, strainDOFs) float32 615kB ...
StressesAtNodes (time, nodeTags, stressDOFs) float32 307kB 0.0 ......
StrainsAtNodes (time, nodeTags, strainDOFs) float32 307kB 0.0 ......
StressAtNodesErr (time, nodeTags, stressDOFs) float32 307kB 0.0 ......
StrainsAtNodesErr (time, nodeTags, strainDOFs) float32 307kB 0.0 ......
StressMeasures (time, eleTags, GaussPoints, measures) float32 717kB ...
StrainMeasures (time, eleTags, GaussPoints, measures) float32 717kB ...
StressMeasuresAtNodes (time, nodeTags, measures) float32 359kB 0.0 ... 3...
StrainMeasuresAtNodes (time, nodeTags, measures) float32 359kB 0.0 ... 0...
Attributes:
sigma11, sigma22, sigma33: Normal stress (strain) along x, y, z.
sigma12, sigma23, sigma13: Shear stress (strain).
p1, p2, p3: Principal stresses (strains).
eta_r: Ratio between the shear (deviatoric) stress a...
sigma_vm: Von Mises stress.
tau_max: Maximum shear stress (strains).
sigma_oct: Octahedral normal stress (strains).
tau_oct: Octahedral shear stress (strains).xarray.Dataset
- time: 1601
- eleTags: 2
- GaussPoints: 8
- stressDOFs: 6
- strainDOFs: 6
- nodeTags: 8
- measures: 7
- time(time)float320.0 0.01 0.02 ... 15.98 15.99 16.0
array([0.000e+00, 1.000e-02, 2.000e-02, ..., 1.598e+01, 1.599e+01, 1.600e+01], dtype=float32) - eleTags(eleTags)int321 3
array([1, 3])
- GaussPoints(GaussPoints)int321 2 3 4 5 6 7 8
array([1, 2, 3, 4, 5, 6, 7, 8])
- stressDOFs(stressDOFs)<U7'sigma11' 'sigma22' ... 'sigma13'
array(['sigma11', 'sigma22', 'sigma33', 'sigma12', 'sigma23', 'sigma13'], dtype='<U7') - strainDOFs(strainDOFs)<U5'eps11' 'eps22' ... 'eps23' 'eps13'
array(['eps11', 'eps22', 'eps33', 'eps12', 'eps23', 'eps13'], dtype='<U5')
- nodeTags(nodeTags)int321 2 3 4 5 6 7 8
array([1, 2, 3, 4, 5, 6, 7, 8])
- measures(measures)<U9'p1' 'p2' ... 'sigma_oct' 'tau_oct'
array(['p1', 'p2', 'p3', 'sigma_vm', 'tau_max', 'sigma_oct', 'tau_oct'], dtype='<U9')
- Stresses(time, eleTags, GaussPoints, stressDOFs)float32-0.0 -0.0 -0.0 -0.0 ... nan nan nan
array([[[[-0.00000000e+00, -0.00000000e+00, -0.00000000e+00, -0.00000000e+00, -0.00000000e+00, -0.00000000e+00], [-0.00000000e+00, -0.00000000e+00, -0.00000000e+00, -0.00000000e+00, -0.00000000e+00, -0.00000000e+00], [-0.00000000e+00, -0.00000000e+00, -0.00000000e+00, -0.00000000e+00, -0.00000000e+00, -0.00000000e+00], ..., [-0.00000000e+00, -0.00000000e+00, -0.00000000e+00, -0.00000000e+00, -0.00000000e+00, -0.00000000e+00], [-0.00000000e+00, -0.00000000e+00, -0.00000000e+00, -0.00000000e+00, -0.00000000e+00, -0.00000000e+00], [-0.00000000e+00, -0.00000000e+00, -0.00000000e+00, -0.00000000e+00, -0.00000000e+00, -0.00000000e+00]], [[ nan, nan, nan, nan, nan, nan], [ nan, nan, nan, nan, nan, nan], [ nan, nan, nan, nan, nan, nan], ... -4.55218875e+05, -1.43160266e+05, -8.09450625e+05], [ 1.87708375e+06, 2.03890438e+06, 6.69098650e+06, -5.82299750e+05, -9.19865469e+04, 2.99986000e+05], [ 1.61137425e+06, 8.27538562e+05, 8.16806150e+06, 4.82064062e+04, -1.41490844e+05, 6.19416992e+04]], [[ nan, nan, nan, nan, nan, nan], [ nan, nan, nan, nan, nan, nan], [ nan, nan, nan, nan, nan, nan], ..., [ nan, nan, nan, nan, nan, nan], [ nan, nan, nan, nan, nan, nan], [ nan, nan, nan, nan, nan, nan]]]], dtype=float32) - Strains(time, eleTags, GaussPoints, strainDOFs)float32-0.0 -0.0 -0.0 -0.0 ... nan nan nan
array([[[[-0.00000000e+00, -0.00000000e+00, -0.00000000e+00, -0.00000000e+00, -0.00000000e+00, -0.00000000e+00], [-0.00000000e+00, -0.00000000e+00, -0.00000000e+00, -0.00000000e+00, -0.00000000e+00, -0.00000000e+00], [-0.00000000e+00, -0.00000000e+00, -0.00000000e+00, -0.00000000e+00, -0.00000000e+00, -0.00000000e+00], ..., [-0.00000000e+00, -0.00000000e+00, -0.00000000e+00, -0.00000000e+00, -0.00000000e+00, -0.00000000e+00], [-0.00000000e+00, -0.00000000e+00, -0.00000000e+00, -0.00000000e+00, -0.00000000e+00, -0.00000000e+00], [-0.00000000e+00, -0.00000000e+00, -0.00000000e+00, -0.00000000e+00, -0.00000000e+00, -0.00000000e+00]], [[ nan, nan, nan, nan, nan, nan], [ nan, nan, nan, nan, nan, nan], [ nan, nan, nan, nan, nan, nan], ... -1.52175862e-05, -4.78572792e-06, -2.70592573e-05], [-9.68738925e-03, -9.68197919e-03, -9.52646416e-03, -1.94657950e-05, -3.07503319e-06, 1.00282805e-05], [-9.69627127e-03, -9.72247403e-03, -9.47708637e-03, 1.61149990e-06, -4.72992042e-06, 2.07065909e-06]], [[ nan, nan, nan, nan, nan, nan], [ nan, nan, nan, nan, nan, nan], [ nan, nan, nan, nan, nan, nan], ..., [ nan, nan, nan, nan, nan, nan], [ nan, nan, nan, nan, nan, nan], [ nan, nan, nan, nan, nan, nan]]]], dtype=float32) - StressesAtNodes(time, nodeTags, stressDOFs)float320.0 0.0 ... -1.415e+05 6.194e+04
array([[[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00], [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00], [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00], ..., [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00], [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00], [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]], [[ 8.77010156e+03, 1.56077764e+04, 1.46577281e+05, 1.12081860e+03, 1.30416766e+05, -9.26548523e+02], [ 1.07346660e+04, 7.97245264e+03, 1.52248047e+05, 1.14416321e+03, 1.44619547e+05, -9.26548523e+02], [ 8.77010156e+03, 1.56077764e+04, 1.46577281e+05, -1.12081860e+03, 1.30416766e+05, 9.26548523e+02], ... -3.07791156e+05, -3.64772594e+05, -5.20162781e+05], [ 1.70271862e+06, 1.93730788e+06, 7.36726250e+06, -8.31284250e+05, 5.13065312e+04, 6.85090438e+05], [ 1.43600912e+06, 6.71876938e+05, 8.89940300e+06, 1.95044375e+05, 4.64989336e+04, 3.79262188e+05]], [[ 2.60332825e+06, 1.98056388e+06, 6.02308250e+06, -1.18509800e+06, 1.22642938e+06, 6.67638047e+04], [ 2.33669450e+06, 7.82806500e+05, 7.48747350e+06, -5.73618000e+05, 1.18791400e+06, -1.82269391e+05], [ 2.50747475e+06, 1.67420462e+06, 6.42529550e+06, -6.87552625e+05, 1.25223400e+06, 9.32276188e+05], ..., [ 1.69113775e+06, 1.14410038e+06, 7.77173650e+06, -4.55218875e+05, -1.43160266e+05, -8.09450625e+05], [ 1.87708375e+06, 2.03890438e+06, 6.69098650e+06, -5.82299750e+05, -9.19865469e+04, 2.99986000e+05], [ 1.61137425e+06, 8.27538562e+05, 8.16806150e+06, 4.82064062e+04, -1.41490844e+05, 6.19416992e+04]]], dtype=float32) - StrainsAtNodes(time, nodeTags, strainDOFs)float320.0 0.0 0.0 ... -4.73e-06 2.071e-06
array([[[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00], [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00], [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00], ..., [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00], [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00], [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]], [[-5.37224366e-07, -3.08646605e-07, 4.06955451e-06, 3.74680305e-08, 4.35972333e-06, -3.09737409e-08], [-4.71550607e-07, -5.63889103e-07, 4.25912322e-06, 3.82484195e-08, 4.83451049e-06, -3.09737409e-08], [-5.37224366e-07, -3.08646605e-07, 4.06955451e-06, -3.74680305e-08, 4.35972333e-06, 3.09737409e-08], ... -1.02892018e-05, -1.21940420e-05, -1.73886074e-05], [-9.69516207e-03, -9.68732033e-03, -9.50580090e-03, -2.77891359e-05, 1.71513432e-06, 2.29020006e-05], [-9.70407762e-03, -9.72962193e-03, -9.45458282e-03, 6.52017025e-06, 1.55442046e-06, 1.26784180e-05]], [[-9.66311060e-03, -9.68392938e-03, -9.54879168e-03, -3.96168325e-05, 4.09985078e-05, 2.23185816e-06], [-9.67202429e-03, -9.72396974e-03, -9.49983858e-03, -1.91755717e-05, 3.97109725e-05, -6.09311292e-06], [-9.66631528e-03, -9.69417114e-03, -9.53534618e-03, -2.29843099e-05, 4.18611344e-05, 3.11652148e-05], ..., [-9.69360489e-03, -9.71189141e-03, -9.49033536e-03, -1.52175862e-05, -4.78572792e-06, -2.70592573e-05], [-9.68738925e-03, -9.68197919e-03, -9.52646416e-03, -1.94657950e-05, -3.07503319e-06, 1.00282805e-05], [-9.69627127e-03, -9.72247403e-03, -9.47708637e-03, 1.61149990e-06, -4.72992042e-06, 2.07065909e-06]]], dtype=float32) - StressAtNodesErr(time, nodeTags, stressDOFs)float320.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0
array([[[0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0.], ..., [0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0.]], [[0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0.], ..., [0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0.]], [[0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0.], ..., ... ..., [0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0.]], [[0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0.], ..., [0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0.]], [[0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0.], ..., [0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0.]]], dtype=float32) - StrainsAtNodesErr(time, nodeTags, strainDOFs)float320.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0
array([[[0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0.], ..., [0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0.]], [[0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0.], ..., [0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0.]], [[0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0.], ..., ... ..., [0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0.]], [[0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0.], ..., [0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0.]], [[0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0.], ..., [0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0.]]], dtype=float32) - StressMeasures(time, eleTags, GaussPoints, measures)float32-0.0 -0.0 -0.0 0.0 ... 0.0 0.0 0.0
array([[[[-0.0000000e+00, -0.0000000e+00, -0.0000000e+00, ..., 0.0000000e+00, -0.0000000e+00, 0.0000000e+00], [-0.0000000e+00, -0.0000000e+00, -0.0000000e+00, ..., 0.0000000e+00, -0.0000000e+00, 0.0000000e+00], [-0.0000000e+00, -0.0000000e+00, -0.0000000e+00, ..., 0.0000000e+00, -0.0000000e+00, 0.0000000e+00], ..., [-0.0000000e+00, -0.0000000e+00, -0.0000000e+00, ..., 0.0000000e+00, -0.0000000e+00, 0.0000000e+00], [-0.0000000e+00, -0.0000000e+00, -0.0000000e+00, ..., 0.0000000e+00, -0.0000000e+00, 0.0000000e+00], [-0.0000000e+00, -0.0000000e+00, -0.0000000e+00, ..., 0.0000000e+00, -0.0000000e+00, 0.0000000e+00]], [[ 0.0000000e+00, 0.0000000e+00, 0.0000000e+00, ..., 0.0000000e+00, 0.0000000e+00, 0.0000000e+00], [ 0.0000000e+00, 0.0000000e+00, 0.0000000e+00, ..., 0.0000000e+00, 0.0000000e+00, 0.0000000e+00], [ 0.0000000e+00, 0.0000000e+00, 0.0000000e+00, ..., 0.0000000e+00, 0.0000000e+00, 0.0000000e+00], ... 3.5169170e+06, 3.5356582e+06, 3.1001088e+06], [ 6.7131595e+06, 2.5289382e+06, 1.3648769e+06, ..., 2.6741412e+06, 3.5356582e+06, 2.2965402e+06], [ 8.1713550e+06, 1.6138982e+06, 8.2172106e+05, ..., 3.6748170e+06, 3.5356580e+06, 3.2938480e+06]], [[ 0.0000000e+00, 0.0000000e+00, 0.0000000e+00, ..., 0.0000000e+00, 0.0000000e+00, 0.0000000e+00], [ 0.0000000e+00, 0.0000000e+00, 0.0000000e+00, ..., 0.0000000e+00, 0.0000000e+00, 0.0000000e+00], [ 0.0000000e+00, 0.0000000e+00, 0.0000000e+00, ..., 0.0000000e+00, 0.0000000e+00, 0.0000000e+00], ..., [ 0.0000000e+00, 0.0000000e+00, 0.0000000e+00, ..., 0.0000000e+00, 0.0000000e+00, 0.0000000e+00], [ 0.0000000e+00, 0.0000000e+00, 0.0000000e+00, ..., 0.0000000e+00, 0.0000000e+00, 0.0000000e+00], [ 0.0000000e+00, 0.0000000e+00, 0.0000000e+00, ..., 0.0000000e+00, 0.0000000e+00, 0.0000000e+00]]]], dtype=float32) - StrainMeasures(time, eleTags, GaussPoints, measures)float32-0.0 -0.0 -0.0 0.0 ... 0.0 0.0 0.0
array([[[[-0.00000000e+00, -0.00000000e+00, -0.00000000e+00, ..., 0.00000000e+00, -0.00000000e+00, 0.00000000e+00], [-0.00000000e+00, -0.00000000e+00, -0.00000000e+00, ..., 0.00000000e+00, -0.00000000e+00, 0.00000000e+00], [-0.00000000e+00, -0.00000000e+00, -0.00000000e+00, ..., 0.00000000e+00, -0.00000000e+00, 0.00000000e+00], ..., [-0.00000000e+00, -0.00000000e+00, -0.00000000e+00, ..., 0.00000000e+00, -0.00000000e+00, 0.00000000e+00], [-0.00000000e+00, -0.00000000e+00, -0.00000000e+00, ..., 0.00000000e+00, -0.00000000e+00, 0.00000000e+00], [-0.00000000e+00, -0.00000000e+00, -0.00000000e+00, ..., 0.00000000e+00, -0.00000000e+00, 0.00000000e+00]], [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, ..., 0.00000000e+00, 0.00000000e+00, 0.00000000e+00], [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, ..., 0.00000000e+00, 0.00000000e+00, 0.00000000e+00], [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, ..., 0.00000000e+00, 0.00000000e+00, 0.00000000e+00], ... 1.17567521e-04, -9.63194389e-03, 1.03634011e-04], [-9.52572282e-03, -9.66559816e-03, -9.70451161e-03, ..., 8.93943652e-05, -9.63194389e-03, 7.67714591e-05], [-9.47697647e-03, -9.69618652e-03, -9.72266868e-03, ..., 1.22846119e-04, -9.63194389e-03, 1.10110675e-04]], [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, ..., 0.00000000e+00, 0.00000000e+00, 0.00000000e+00], [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, ..., 0.00000000e+00, 0.00000000e+00, 0.00000000e+00], [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, ..., 0.00000000e+00, 0.00000000e+00, 0.00000000e+00], ..., [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, ..., 0.00000000e+00, 0.00000000e+00, 0.00000000e+00], [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, ..., 0.00000000e+00, 0.00000000e+00, 0.00000000e+00], [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, ..., 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]]], dtype=float32) - StressMeasuresAtNodes(time, nodeTags, measures)float320.0 0.0 0.0 ... 3.536e+06 3.294e+06
array([[[ 0.0000000e+00, 0.0000000e+00, 0.0000000e+00, ..., 0.0000000e+00, 0.0000000e+00, 0.0000000e+00], [ 0.0000000e+00, 0.0000000e+00, 0.0000000e+00, ..., 0.0000000e+00, 0.0000000e+00, 0.0000000e+00], [ 0.0000000e+00, 0.0000000e+00, 0.0000000e+00, ..., 0.0000000e+00, 0.0000000e+00, 0.0000000e+00], ..., [ 0.0000000e+00, 0.0000000e+00, 0.0000000e+00, ..., 0.0000000e+00, 0.0000000e+00, 0.0000000e+00], [ 0.0000000e+00, 0.0000000e+00, 0.0000000e+00, ..., 0.0000000e+00, 0.0000000e+00, 0.0000000e+00], [ 0.0000000e+00, 0.0000000e+00, 0.0000000e+00, ..., 0.0000000e+00, 0.0000000e+00, 0.0000000e+00]], [[ 2.2702689e+05, 8.7980908e+03, -6.4869828e+04, ..., 1.4594836e+05, 5.6985055e+04, 1.2394195e+05], [ 2.4172312e+05, 1.0757636e+04, -8.1525602e+04, ..., 1.6162436e+05, 5.6985055e+04, 1.3595383e+05], [ 2.2702689e+05, 8.7980908e+03, -6.4869828e+04, ..., 1.4594836e+05, 5.6985055e+04, 1.2394195e+05], ... [ 8.5000750e+06, 1.7030732e+06, 8.0414131e+05, ..., 3.8479668e+06, 3.6690965e+06, 3.4356740e+06], [ 7.4493600e+06, 2.6253118e+06, 9.3261731e+05, ..., 3.2583712e+06, 3.6690962e+06, 2.7609295e+06], [ 8.9190110e+06, 1.4635400e+06, 6.2473812e+05, ..., 4.1471365e+06, 3.6690962e+06, 3.7280110e+06]], [[ 6.3846305e+06, 3.3613635e+06, 8.6098038e+05, ..., 2.7618252e+06, 3.5356582e+06, 2.2583862e+06], [ 7.7061030e+06, 2.4727948e+06, 4.2807678e+05, ..., 3.6390130e+06, 3.5356582e+06, 3.0648192e+06], [ 6.8650565e+06, 2.8870178e+06, 8.5490062e+05, ..., 3.0050780e+06, 3.5356582e+06, 2.4961362e+06], ..., [ 7.8786715e+06, 1.8834654e+06, 8.4483762e+05, ..., 3.5169170e+06, 3.5356582e+06, 3.1001088e+06], [ 6.7131595e+06, 2.5289382e+06, 1.3648769e+06, ..., 2.6741412e+06, 3.5356582e+06, 2.2965402e+06], [ 8.1713550e+06, 1.6138982e+06, 8.2172106e+05, ..., 3.6748170e+06, 3.5356580e+06, 3.2938480e+06]]], dtype=float32) - StrainMeasuresAtNodes(time, nodeTags, measures)float320.0 0.0 0.0 ... -0.009632 0.0001101
array([[[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, ..., 0.00000000e+00, 0.00000000e+00, 0.00000000e+00], [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, ..., 0.00000000e+00, 0.00000000e+00, 0.00000000e+00], [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, ..., 0.00000000e+00, 0.00000000e+00, 0.00000000e+00], ..., [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, ..., 0.00000000e+00, 0.00000000e+00, 0.00000000e+00], [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, ..., 0.00000000e+00, 0.00000000e+00, 0.00000000e+00], [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, ..., 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]], [[ 6.75891761e-06, -5.36288667e-07, -2.99894555e-06, ..., 4.87893158e-06, 1.07456117e-06, 4.14327587e-06], [ 7.25020027e-06, -4.70782737e-07, -3.55573434e-06, ..., 5.40296742e-06, 1.07456117e-06, 4.54482279e-06], [ 6.75891761e-06, -5.36288667e-07, -2.99894555e-06, ..., 4.87893158e-06, 1.07456117e-06, 4.14327587e-06], ... 1.28634507e-04, -9.62942746e-03, 1.14851791e-04], [-9.50305630e-03, -9.66432039e-03, -9.72090568e-03, ..., 1.08924796e-04, -9.62942746e-03, 9.22957333e-05], [-9.45392717e-03, -9.70315747e-03, -9.73119773e-03, ..., 1.38635194e-04, -9.62942746e-03, 1.24624188e-04]], [[-9.53670498e-03, -9.63777024e-03, -9.72135644e-03, ..., 9.23253247e-05, -9.63194389e-03, 7.54958019e-05], [-9.49252956e-03, -9.66747478e-03, -9.73582827e-03, ..., 1.21649035e-04, -9.63194389e-03, 1.02454200e-04], [-9.52064525e-03, -9.65362787e-03, -9.72155947e-03, ..., 1.00457190e-04, -9.63194389e-03, 8.34436869e-05], ..., [-9.48676094e-03, -9.68717504e-03, -9.72189568e-03, ..., 1.17567521e-04, -9.63194389e-03, 1.03634011e-04], [-9.52572282e-03, -9.66559816e-03, -9.70451161e-03, ..., 8.93943652e-05, -9.63194389e-03, 7.67714591e-05], [-9.47697647e-03, -9.69618652e-03, -9.72266868e-03, ..., 1.22846119e-04, -9.63194389e-03, 1.10110675e-04]]], dtype=float32)
- timePandasIndex
PandasIndex(Index([ 0.0, 0.009999999776482582, 0.019999999552965164, 0.029999999329447746, 0.03999999910593033, 0.05000000074505806, 0.05999999865889549, 0.07000000029802322, 0.07999999821186066, 0.09000000357627869, ... 15.90999984741211, 15.920000076293945, 15.930000305175781, 15.9399995803833, 15.949999809265137, 15.960000038146973, 15.970000267028809, 15.979999542236328, 15.989999771118164, 16.0], dtype='float32', name='time', length=1601)) - eleTagsPandasIndex
PandasIndex(Index([1, 3], dtype='int32', name='eleTags'))
- GaussPointsPandasIndex
PandasIndex(Index([1, 2, 3, 4, 5, 6, 7, 8], dtype='int32', name='GaussPoints'))
- stressDOFsPandasIndex
PandasIndex(Index(['sigma11', 'sigma22', 'sigma33', 'sigma12', 'sigma23', 'sigma13'], dtype='object', name='stressDOFs'))
- strainDOFsPandasIndex
PandasIndex(Index(['eps11', 'eps22', 'eps33', 'eps12', 'eps23', 'eps13'], dtype='object', name='strainDOFs'))
- nodeTagsPandasIndex
PandasIndex(Index([1, 2, 3, 4, 5, 6, 7, 8], dtype='int32', name='nodeTags'))
- measuresPandasIndex
PandasIndex(Index(['p1', 'p2', 'p3', 'sigma_vm', 'tau_max', 'sigma_oct', 'tau_oct'], dtype='object', name='measures'))
- sigma11, sigma22, sigma33 :
- Normal stress (strain) along x, y, z.
- sigma12, sigma23, sigma13 :
- Shear stress (strain).
- p1, p2, p3 :
- Principal stresses (strains).
- eta_r :
- Ratio between the shear (deviatoric) stress and peak shear strength at the current confinement
- sigma_vm :
- Von Mises stress.
- tau_max :
- Maximum shear stress (strains).
- sigma_oct :
- Octahedral normal stress (strains).
- tau_oct :
- Octahedral shear stress (strains).
opst.post.get_element_responses(odb_tag="FSI", ele_type="Plane")
OPSTOOL :: Loading Plane response data from G:\opstool\docs\.opstool.output/RespStepData-FSI.nc ...
<xarray.Dataset> Size: 83kB
Dimensions: (time: 1601, eleTags: 6, GaussPoints: 1, stressDOFs: 1,
strainDOFs: 1)
Coordinates:
* time (time) float32 6kB 0.0 0.01 0.02 0.03 ... 15.98 15.99 16.0
* eleTags (eleTags) int32 24B 2 4 5 6 7 8
* GaussPoints (GaussPoints) int32 4B 1
* stressDOFs (stressDOFs) <U7 28B 'sigma11'
* strainDOFs (strainDOFs) <U5 20B 'eps11'
Data variables:
Stresses (time, eleTags, GaussPoints, stressDOFs) float32 38kB nan .....
Strains (time, eleTags, GaussPoints, strainDOFs) float32 38kB nan .....
Attributes:
p1, p2: Principal stresses (strains).
sigma11, sigma22, sigma12: Normal stress and shear stress (strain) in th...
eta_r: Ratio between the shear (deviatoric) stress a...
sigma_vm: Von Mises stress.
tau_max: Maximum shear stress (strains).xarray.Dataset
- time: 1601
- eleTags: 6
- GaussPoints: 1
- stressDOFs: 1
- strainDOFs: 1
- time(time)float320.0 0.01 0.02 ... 15.98 15.99 16.0
array([0.000e+00, 1.000e-02, 2.000e-02, ..., 1.598e+01, 1.599e+01, 1.600e+01], dtype=float32) - eleTags(eleTags)int322 4 5 6 7 8
array([2, 4, 5, 6, 7, 8])
- GaussPoints(GaussPoints)int321
array([1])
- stressDOFs(stressDOFs)<U7'sigma11'
array(['sigma11'], dtype='<U7')
- strainDOFs(strainDOFs)<U5'eps11'
array(['eps11'], dtype='<U5')
- Stresses(time, eleTags, GaussPoints, stressDOFs)float32nan nan nan nan ... nan nan nan nan
array([[[[nan]], [[nan]], [[nan]], [[nan]], [[nan]], [[nan]]], [[[nan]], [[nan]], [[nan]], [[nan]], ... [[nan]], [[nan]], [[nan]], [[nan]]], [[[nan]], [[nan]], [[nan]], [[nan]], [[nan]], [[nan]]]], dtype=float32) - Strains(time, eleTags, GaussPoints, strainDOFs)float32nan nan nan nan ... nan nan nan nan
array([[[[nan]], [[nan]], [[nan]], [[nan]], [[nan]], [[nan]]], [[[nan]], [[nan]], [[nan]], [[nan]], ... [[nan]], [[nan]], [[nan]], [[nan]]], [[[nan]], [[nan]], [[nan]], [[nan]], [[nan]], [[nan]]]], dtype=float32)
- timePandasIndex
PandasIndex(Index([ 0.0, 0.009999999776482582, 0.019999999552965164, 0.029999999329447746, 0.03999999910593033, 0.05000000074505806, 0.05999999865889549, 0.07000000029802322, 0.07999999821186066, 0.09000000357627869, ... 15.90999984741211, 15.920000076293945, 15.930000305175781, 15.9399995803833, 15.949999809265137, 15.960000038146973, 15.970000267028809, 15.979999542236328, 15.989999771118164, 16.0], dtype='float32', name='time', length=1601)) - eleTagsPandasIndex
PandasIndex(Index([2, 4, 5, 6, 7, 8], dtype='int32', name='eleTags'))
- GaussPointsPandasIndex
PandasIndex(Index([1], dtype='int32', name='GaussPoints'))
- stressDOFsPandasIndex
PandasIndex(Index(['sigma11'], dtype='object', name='stressDOFs'))
- strainDOFsPandasIndex
PandasIndex(Index(['eps11'], dtype='object', name='strainDOFs'))
- p1, p2 :
- Principal stresses (strains).
- sigma11, sigma22, sigma12 :
- Normal stress and shear stress (strain) in the x-y plane.
- eta_r :
- Ratio between the shear (deviatoric) stress and peak shear strength at the current confinement
- sigma_vm :
- Von Mises stress.
- tau_max :
- Maximum shear stress (strains).
Total running time of the script: (0 minutes 2.788 seconds)