abaqustools 2.33__tar.gz → 2.35__tar.gz

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.
Files changed (72) hide show
  1. {abaqustools-2.33/abaqustools.egg-info → abaqustools-2.35}/PKG-INFO +4 -3
  2. {abaqustools-2.33 → abaqustools-2.35}/README.md +5 -2
  3. {abaqustools-2.33 → abaqustools-2.35/abaqustools.egg-info}/PKG-INFO +4 -3
  4. abaqustools-2.35/abaqustools.egg-info/SOURCES.txt +45 -0
  5. {abaqustools-2.33 → abaqustools-2.35}/abaqustools.egg-info/requires.txt +0 -1
  6. {abaqustools-2.33 → abaqustools-2.35}/abq.py +83 -40
  7. abaqustools-2.35/example/truss/abaqus.rpy +29 -0
  8. abaqustools-2.35/example/truss/abaqus.rpy.1 +119 -0
  9. abaqustools-2.35/example/truss/simple_truss.com +96 -0
  10. abaqustools-2.35/example/truss/simple_truss.dat +482 -0
  11. abaqustools-2.35/example/truss/simple_truss.inp +112 -0
  12. abaqustools-2.35/example/truss/simple_truss.msg +1247 -0
  13. abaqustools-2.35/example/truss/simple_truss.odb +0 -0
  14. abaqustools-2.35/example/truss/simple_truss.prt +103 -0
  15. abaqustools-2.35/example/truss/simple_truss.sim +0 -0
  16. abaqustools-2.35/example/truss/simple_truss.sta +25 -0
  17. abaqustools-2.35/example/trussjointc/abaqus.rpy +102 -0
  18. abaqustools-2.35/example/trussjointc/abaqus.rpy.10 +64 -0
  19. abaqustools-2.35/example/trussjointc/abaqus.rpy.11 +292 -0
  20. abaqustools-2.35/example/trussjointc/abaqus.rpy.2 +825 -0
  21. abaqustools-2.35/example/trussjointc/abaqus.rpy.9 +29 -0
  22. {abaqustools-2.33 → abaqustools-2.35}/example/trussjointc/create_model.py +1 -1
  23. abaqustools-2.35/example/trussjointc/create_model2.py +225 -0
  24. abaqustools-2.35/example/trussjointc/simple_trussjointc.com +96 -0
  25. abaqustools-2.35/example/trussjointc/simple_trussjointc.dat +27794 -0
  26. abaqustools-2.35/example/trussjointc/simple_trussjointc.inp +3524 -0
  27. abaqustools-2.35/example/trussjointc/simple_trussjointc.sim +0 -0
  28. abaqustools-2.35/kw.py +2261 -0
  29. abaqustools-2.35/odbexport/export.py +581 -0
  30. abaqustools-2.35/odbexport/odbfunc.py +441 -0
  31. {abaqustools-2.33 → abaqustools-2.35}/odbexport_example/Export.py +3 -3
  32. abaqustools-2.35/odbexport_example/Model_single_deck.odb +0 -0
  33. abaqustools-2.35/odbexport_example/Model_single_deck_exportmodal.h5 +0 -0
  34. {abaqustools-2.33 → abaqustools-2.35}/odbexport_example/Model_single_deck_exportmodal.py +4 -1
  35. {abaqustools-2.33 → abaqustools-2.35}/odbexport_example/Model_single_deck_exportstatic.py +4 -1
  36. abaqustools-2.35/odbexport_example/Model_twin_deck.odb +0 -0
  37. {abaqustools-2.33 → abaqustools-2.35}/pyproject.toml +9 -7
  38. abaqustools-2.35/useful/ModelViewPlugin.zip +0 -0
  39. abaqustools-2.35/useful/plugin_readme.txt +1 -0
  40. abaqustools-2.35/useful/tilepictures.m +86 -0
  41. abaqustools-2.33/__old__/EstimateCableDeflectionSimple.py +0 -203
  42. abaqustools-2.33/__old__/OLD_AbaqusExportModal.py +0 -640
  43. abaqustools-2.33/__old__/OLD_functions_gen - Copy.py +0 -738
  44. abaqustools-2.33/__old__/TestParameters.py +0 -278
  45. abaqustools-2.33/__old__/Test_time1.py +0 -408
  46. abaqustools-2.33/__old__/Test_time2.py +0 -326
  47. abaqustools-2.33/__old__/functions_gen.py +0 -738
  48. abaqustools-2.33/__old__/untitled0.py +0 -110
  49. abaqustools-2.33/abaqustools.egg-info/SOURCES.txt +0 -40
  50. abaqustools-2.33/develop/Export_debug.py +0 -31
  51. abaqustools-2.33/develop/Export_new.py +0 -115
  52. abaqustools-2.33/develop/nordsenga/nordsenga_truss.py +0 -213
  53. abaqustools-2.33/develop/test_build_gradually/Runmodel.py +0 -37
  54. abaqustools-2.33/develop/test_retract/Langenuen_tower_exportstatic.py +0 -34
  55. abaqustools-2.33/develop/test_retract/Langenuen_tower_nograv_exportstatic.py +0 -29
  56. abaqustools-2.33/develop/test_retract/Sulafjorden_tower_exportstatic.py +0 -34
  57. abaqustools-2.33/develop/test_retract/Sulafjorden_tower_nograv_exportstatic.py +0 -29
  58. abaqustools-2.33/develop/test_retract/test_retract.py +0 -110
  59. abaqustools-2.33/develop/testodb/TestLangenuen_exportmodal.py +0 -50
  60. abaqustools-2.33/develop/testodb/TestLangenuen_exportstatic.py +0 -47
  61. abaqustools-2.33/develop/testrayleigh/testray.py +0 -149
  62. abaqustools-2.33/develop/testrayleigh/testray_old.py +0 -152
  63. abaqustools-2.33/kw.py +0 -1218
  64. abaqustools-2.33/odbexport/export.py +0 -447
  65. abaqustools-2.33/odbexport/odbfunc.py +0 -373
  66. {abaqustools-2.33 → abaqustools-2.35}/LICENSE +0 -0
  67. {abaqustools-2.33 → abaqustools-2.35}/abaqustools.egg-info/dependency_links.txt +0 -0
  68. {abaqustools-2.33 → abaqustools-2.35}/abaqustools.egg-info/top_level.txt +0 -0
  69. {abaqustools-2.33 → abaqustools-2.35}/example/truss/create_model.py +0 -0
  70. {abaqustools-2.33 → abaqustools-2.35}/odbexport/__init__.py +0 -0
  71. {abaqustools-2.33 → abaqustools-2.35}/setup.cfg +0 -0
  72. {abaqustools-2.33 → abaqustools-2.35}/useful/Plot_model_and_modes.py +0 -0
@@ -1,8 +1,9 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.4
2
2
  Name: abaqustools
3
- Version: 2.33
3
+ Version: 2.35
4
4
  Summary: Tools for FEM software ABAQUS.
5
5
  Author-email: "O. W. Petersen" <oyvind.w.petersen@ntnu.no>
6
+ Project-URL: repository, https://github.com/Oyvindwpetersen/abaqustools/
6
7
  Keywords: abaqus,export,fem,odb
7
8
  Requires-Python: >=3
8
9
  License-File: LICENSE
@@ -11,4 +12,4 @@ Requires-Dist: scipy
11
12
  Requires-Dist: nexusformat
12
13
  Requires-Dist: h5py
13
14
  Requires-Dist: putools
14
- Requires-Dist: ypstruct
15
+ Dynamic: license-file
@@ -22,6 +22,9 @@ This repo contains useful tools for the pre and post processing of Abaqus model,
22
22
 
23
23
  ## Required packages
24
24
  The following list of packages are required:
25
- ["numpy","os","sys","time","scipy","nexusformat","datetime","h5py","timeit","warnings","putools","ypstruct"]
26
-
25
+ - numpy
26
+ - scipy
27
+ - nexusformat
28
+ - h5py
29
+ - putools @ https://github.com/Oyvindwpetersen/putools
27
30
 
@@ -1,8 +1,9 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.4
2
2
  Name: abaqustools
3
- Version: 2.33
3
+ Version: 2.35
4
4
  Summary: Tools for FEM software ABAQUS.
5
5
  Author-email: "O. W. Petersen" <oyvind.w.petersen@ntnu.no>
6
+ Project-URL: repository, https://github.com/Oyvindwpetersen/abaqustools/
6
7
  Keywords: abaqus,export,fem,odb
7
8
  Requires-Python: >=3
8
9
  License-File: LICENSE
@@ -11,4 +12,4 @@ Requires-Dist: scipy
11
12
  Requires-Dist: nexusformat
12
13
  Requires-Dist: h5py
13
14
  Requires-Dist: putools
14
- Requires-Dist: ypstruct
15
+ Dynamic: license-file
@@ -0,0 +1,45 @@
1
+ LICENSE
2
+ README.md
3
+ abq.py
4
+ kw.py
5
+ pyproject.toml
6
+ abaqustools.egg-info/PKG-INFO
7
+ abaqustools.egg-info/SOURCES.txt
8
+ abaqustools.egg-info/dependency_links.txt
9
+ abaqustools.egg-info/requires.txt
10
+ abaqustools.egg-info/top_level.txt
11
+ example/truss/abaqus.rpy
12
+ example/truss/abaqus.rpy.1
13
+ example/truss/create_model.py
14
+ example/truss/simple_truss.com
15
+ example/truss/simple_truss.dat
16
+ example/truss/simple_truss.inp
17
+ example/truss/simple_truss.msg
18
+ example/truss/simple_truss.odb
19
+ example/truss/simple_truss.prt
20
+ example/truss/simple_truss.sim
21
+ example/truss/simple_truss.sta
22
+ example/trussjointc/abaqus.rpy
23
+ example/trussjointc/abaqus.rpy.10
24
+ example/trussjointc/abaqus.rpy.11
25
+ example/trussjointc/abaqus.rpy.2
26
+ example/trussjointc/abaqus.rpy.9
27
+ example/trussjointc/create_model.py
28
+ example/trussjointc/create_model2.py
29
+ example/trussjointc/simple_trussjointc.com
30
+ example/trussjointc/simple_trussjointc.dat
31
+ example/trussjointc/simple_trussjointc.inp
32
+ example/trussjointc/simple_trussjointc.sim
33
+ odbexport/__init__.py
34
+ odbexport/export.py
35
+ odbexport/odbfunc.py
36
+ odbexport_example/Export.py
37
+ odbexport_example/Model_single_deck.odb
38
+ odbexport_example/Model_single_deck_exportmodal.h5
39
+ odbexport_example/Model_single_deck_exportmodal.py
40
+ odbexport_example/Model_single_deck_exportstatic.py
41
+ odbexport_example/Model_twin_deck.odb
42
+ useful/ModelViewPlugin.zip
43
+ useful/Plot_model_and_modes.py
44
+ useful/plugin_readme.txt
45
+ useful/tilepictures.m
@@ -3,4 +3,3 @@ scipy
3
3
  nexusformat
4
4
  h5py
5
5
  putools
6
- ypstruct
@@ -11,16 +11,25 @@ import numpy as np
11
11
  import os
12
12
  import putools
13
13
  import time
14
+ import subprocess
14
15
 
15
16
  #%%
16
17
 
17
18
  def printerror(jobname,foldername=''):
18
19
 
19
- # Search through msg file for errors, print error if found
20
+ '''
21
+ Search through msg or dat file for errors, print error if found
20
22
 
21
- # Inputs:
22
- # jobname: name of odb file
23
- # foldername: folder of odb file
23
+ Arguments
24
+ ------------
25
+ jobname (string): name of odb file
26
+ foldername (string): folder of odb file
27
+
28
+ Returns
29
+ ------------
30
+ None
31
+
32
+ '''
24
33
 
25
34
  if len(foldername)>0:
26
35
  foldername=foldername + '\\'
@@ -31,15 +40,15 @@ def printerror(jobname,foldername=''):
31
40
 
32
41
 
33
42
  filename=foldername + jobname + '.msg'
34
- file_exist_logic=os.path.isfile(filename)
43
+ file_exist=os.path.isfile(filename)
35
44
 
36
45
  # If msg file dont exist, try dat
37
- if file_exist_logic==False:
46
+ if file_exist==False:
38
47
  filename=foldername + jobname + '.dat'
39
- file_exist_logic=os.path.isfile(filename)
48
+ file_exist=os.path.isfile(filename)
40
49
 
41
50
  # If file dont exist, set empty
42
- if file_exist_logic==True:
51
+ if file_exist==True:
43
52
  fid=open(filename, 'r')
44
53
  lines=fid.read().splitlines()
45
54
  fid.close()
@@ -59,25 +68,34 @@ def printerror(jobname,foldername=''):
59
68
 
60
69
  #%%
61
70
 
62
- def checkduplicate(inputfilename):
63
-
64
- # Check input file, alert if duplicate node or element numbers
71
+ def checkduplicate(inputname,halt=True):
72
+
73
+ '''
74
+ Check input file, alert if duplicate node or element numbers
75
+
76
+ Arguments
77
+ ------------
78
+ inputname (string): name of input file
65
79
 
66
- # Inputs:
67
- # Inputfilename: name (and folder) of input file
80
+ Returns
81
+ ------------
82
+ None
68
83
 
69
- file_exist_logic=os.path.isfile(inputfilename)
84
+ '''
85
+
86
+ file_exist=os.path.isfile(inputname)
70
87
 
71
88
  # Error if input file dont exist
72
- if file_exist_logic==False:
73
- print('***** File ' + inputfilename)
89
+ if file_exist==False:
90
+ print('***** File ' + inputname)
74
91
  raise Exception('***** File not found')
75
92
 
76
- fid=open(inputfilename, 'r')
93
+ fid=open(inputname, 'r')
77
94
  input_file_lines=fid.read().splitlines()
78
95
  fid.close()
79
96
 
80
- node_or_element=['*NODE,' , '*ELEMENT,']
97
+ node_or_element=['*NODE' , '*ELEMENT']
98
+ node_or_element_false=['*NODE OUTPUT' , '*ELEMENT OUTPUT']
81
99
 
82
100
  # Index of lines with star, used for finding end of node/element block
83
101
  idx_star=putools.num.listindexsub(input_file_lines,'*')
@@ -86,6 +104,9 @@ def checkduplicate(inputfilename):
86
104
 
87
105
  # Find all lines with *NODE or *ELEMENT
88
106
  idx_keyword=putools.num.listindexsub(input_file_lines,node_or_element[index])
107
+ idx_keyword_false=putools.num.listindexsub(input_file_lines,node_or_element_false[index])
108
+
109
+ idx_keyword = list(set(idx_keyword) - set(idx_keyword_false))
89
110
 
90
111
  numbers_list=[None]*len(idx_keyword)
91
112
 
@@ -111,22 +132,35 @@ def checkduplicate(inputfilename):
111
132
 
112
133
  print('***** Duplicate ' + node_or_element[index] + ' numbers:')
113
134
  print(numbers_dup)
114
- raise Exception('***** Duplicates not allowed, see above printed numbers')
135
+
136
+ if halt==True:
137
+ raise Exception('***** Duplicates not allowed, see above printed numbers')
115
138
 
116
139
 
117
140
  #%%
118
141
 
119
142
  def runjob(foldername,inputname,jobname='',abaqus_cmd='abaqus',cpus=4,echo_cmd=True,halt_error=True,oldjobname=''):
120
-
121
- # Inputs:
122
- # foldername: string with folder of input file
123
- # inputname: string with name of .inp file
124
- # jobname: string with name of .odb, if empty then equal to inputname
125
- # abaqus_cmd: string with system command, usually 'abaqus'
126
- # cpus: number of cores
127
- # echo_cmd: true/false, echo console output from system
128
- # halt_error: true/false, halt or not if error in Abaqus analysis
129
- # oldjobname: string with name of old .odb, only relevant for restart analysis, else set to empty
143
+
144
+ '''
145
+ Check input file, alert if duplicate node or element numbers
146
+
147
+ Arguments
148
+ ------------
149
+ foldername (string): folder of input file
150
+ inputname (string): name of input file
151
+ jobname (string): name of odb file, if empty then equal to inputname
152
+ abaqus_cmd (string): string supplied to system command, usually 'abaqus'
153
+ cpus (number): number of cores
154
+ echo_cmd (bool): echo console output from system
155
+ halt_error (bool): halt or not if error in Abaqus analysis
156
+ oldjobname (string): name of old odb file, only relevant for restart analysis, else set to empty
157
+
158
+ Returns
159
+ ------------
160
+ completed (bool): if the job is completed or not
161
+
162
+
163
+ '''
130
164
 
131
165
  if len(abaqus_cmd)<1:
132
166
  abaqus_cmd='abaqus'
@@ -147,8 +181,8 @@ def runjob(foldername,inputname,jobname='',abaqus_cmd='abaqus',cpus=4,echo_cmd=T
147
181
 
148
182
  # If lock file exists, delete
149
183
  file_name_lock=foldername + '\\' + jobname + '.lck'
150
- file_exist_logic=os.path.isfile(file_name_lock)
151
- if file_exist_logic:
184
+ file_exist=os.path.isfile(file_name_lock)
185
+ if file_exist:
152
186
  print('***** Lock-file existing, deleting')
153
187
  os.remove(file_name_lock)
154
188
  time.sleep(0.1)
@@ -170,26 +204,35 @@ def runjob(foldername,inputname,jobname='',abaqus_cmd='abaqus',cpus=4,echo_cmd=T
170
204
 
171
205
  t0=putools.timing.tic()
172
206
  #(sys_out)=os.system(system_cmd)
173
- sys_out=os.popen(system_cmd).read()
207
+ # sys_out=os.popen(system_cmd).read()
208
+
209
+ result = subprocess.run(system_cmd, shell=True, capture_output=True, text=True)
210
+
211
+ print('STDERR:', result.stderr)
212
+ print('STDOUT:', result.stdout)
213
+
214
+ #raise RuntimeError('Command failed, see error above')
215
+
174
216
  t1=putools.timing.tocs(t0)
175
217
 
176
218
  # Change back to original folder
177
219
  os.chdir(folder_current)
178
220
 
179
221
  if echo_cmd:
180
- print(sys_out)
181
-
182
- completed_logic='COMPLETED' in sys_out
183
- if completed_logic:
222
+ print(result.stdout)
223
+
224
+ # Check if job is successful
225
+ completed_bool='COMPLETED' in result.stdout
226
+ if completed_bool:
184
227
  print('***** ABAQUS job completed in ' + putools.num.num2strf(t1,1) + ' s')
185
-
186
- error_logic='Abaqus/Analysis exited with error' in sys_out
228
+
229
+ error_bool='Abaqus/Analysis exited with error' in result.stdout
187
230
 
188
- if error_logic:
231
+ if error_bool:
189
232
  time.sleep(1)
190
233
  printerror(jobname,foldername)
191
234
 
192
235
  if halt_error:
193
236
  raise Exception('***** Stopped due to ABAQUS errors, see message above')
194
237
 
195
- return completed_logic
238
+ return completed_bool
@@ -0,0 +1,29 @@
1
+ # -*- coding: mbcs -*-
2
+ #
3
+ # Abaqus/Viewer Release 2017 replay file
4
+ # Internal Version: 2016_09_27-23.54.59 126836
5
+ # Run by oyvinpet on Fri Jan 31 07:39:57 2025
6
+ #
7
+
8
+ # from driverUtils import executeOnCaeGraphicsStartup
9
+ # executeOnCaeGraphicsStartup()
10
+ #: Executing "onCaeGraphicsStartup()" in the site directory ...
11
+ from abaqus import *
12
+ from abaqusConstants import *
13
+ session.Viewport(name='Viewport: 1', origin=(0.0, 0.0), width=79.6640548706055,
14
+ height=105.125)
15
+ session.viewports['Viewport: 1'].makeCurrent()
16
+ session.viewports['Viewport: 1'].maximize()
17
+ from viewerModules import *
18
+ from driverUtils import executeOnCaeStartup
19
+ executeOnCaeStartup()
20
+ o2 = session.openOdb(name='simple_truss.odb')
21
+ #: Model: C:/Cloud/OD_OWP/Work/Python/Github/abaqustools/example/truss/simple_truss.odb
22
+ #: Number of Assemblies: 1
23
+ #: Number of Assembly instances: 0
24
+ #: Number of Part instances: 1
25
+ #: Number of Meshes: 1
26
+ #: Number of Element Sets: 3
27
+ #: Number of Node Sets: 4
28
+ #: Number of Steps: 2
29
+ session.viewports['Viewport: 1'].setValues(displayedObject=o2)
@@ -0,0 +1,119 @@
1
+ # -*- coding: mbcs -*-
2
+ #
3
+ # Abaqus/Viewer Release 2017 replay file
4
+ # Internal Version: 2016_09_27-23.54.59 126836
5
+ # Run by oyvinpet on Mon Aug 21 20:47:40 2023
6
+ #
7
+
8
+ # from driverUtils import executeOnCaeGraphicsStartup
9
+ # executeOnCaeGraphicsStartup()
10
+ #: Executing "onCaeGraphicsStartup()" in the site directory ...
11
+ from abaqus import *
12
+ from abaqusConstants import *
13
+ session.Viewport(name='Viewport: 1', origin=(0.0, 0.0), width=307.999969482422,
14
+ height=173.0)
15
+ session.viewports['Viewport: 1'].makeCurrent()
16
+ session.viewports['Viewport: 1'].maximize()
17
+ from viewerModules import *
18
+ from driverUtils import executeOnCaeStartup
19
+ executeOnCaeStartup()
20
+ o2 = session.openOdb(name='simple_truss.odb')
21
+ #: Model: C:/Cloud/OD_OWP/Work/Python/Github/abaqustools/example/simple_truss.odb
22
+ #: Number of Assemblies: 1
23
+ #: Number of Assembly instances: 0
24
+ #: Number of Part instances: 1
25
+ #: Number of Meshes: 1
26
+ #: Number of Element Sets: 3
27
+ #: Number of Node Sets: 4
28
+ #: Number of Steps: 2
29
+ session.viewports['Viewport: 1'].setValues(displayedObject=o2)
30
+ import sys
31
+ sys.path.insert(15, r'c:/Users/oyvinpet/abaqus_plugins/ModelViewPlugin')
32
+ import ModelView
33
+ import ModelView
34
+ ModelView.ModelViewFunc(render_beams='Off', deflection=50, scalefactor=-1,
35
+ step=-1, x_in_or_out='In')
36
+ session.viewports['Viewport: 1'].odbDisplay.commonOptions.setValues(
37
+ deformationScaling=AUTO)
38
+ session.viewports['Viewport: 1'].view.setValues(nearPlane=86.5984,
39
+ farPlane=113.897, width=30.1815, height=9.74546, viewOffsetX=13.1623,
40
+ viewOffsetY=-3.81748)
41
+ session.animationController.setValues(animationType=HARMONIC, viewports=(
42
+ 'Viewport: 1', ))
43
+ session.animationController.play(duration=UNLIMITED)
44
+ session.animationController.setValues(animationType=NONE)
45
+ session.animationController.setValues(animationType=HARMONIC, viewports=(
46
+ 'Viewport: 1', ))
47
+ session.animationController.play(duration=UNLIMITED)
48
+ session.animationController.setValues(animationType=NONE)
49
+ session.animationController.setValues(animationType=HARMONIC, viewports=(
50
+ 'Viewport: 1', ))
51
+ session.animationController.play(duration=UNLIMITED)
52
+ session.animationController.setValues(animationType=NONE)
53
+ session.viewports['Viewport: 1'].odbDisplay.setFrame(step=1, frame=2 )
54
+ session.viewports['Viewport: 1'].odbDisplay.setFrame(step=1, frame=3 )
55
+ session.viewports['Viewport: 1'].odbDisplay.setFrame(step=1, frame=4 )
56
+ session.viewports['Viewport: 1'].odbDisplay.setFrame(step=1, frame=5 )
57
+ session.viewports['Viewport: 1'].odbDisplay.setFrame(step=1, frame=6 )
58
+ session.viewports['Viewport: 1'].odbDisplay.setFrame(step=1, frame=7 )
59
+ session.viewports['Viewport: 1'].odbDisplay.setFrame(step=1, frame=8 )
60
+ session.animationController.setValues(animationType=HARMONIC, viewports=(
61
+ 'Viewport: 1', ))
62
+ session.animationController.play(duration=UNLIMITED)
63
+ session.animationController.setValues(animationType=NONE)
64
+ session.odbs['C:/Cloud/OD_OWP/Work/Python/Github/abaqustools/example/simple_truss.odb'].close(
65
+ )
66
+ o1 = session.openOdb(
67
+ name='C:/Cloud/OD_OWP/Work/Python/Github/abaqustools/example/simple_truss.odb')
68
+ session.viewports['Viewport: 1'].setValues(displayedObject=o1)
69
+ #: Model: C:/Cloud/OD_OWP/Work/Python/Github/abaqustools/example/simple_truss.odb
70
+ #: Number of Assemblies: 1
71
+ #: Number of Assembly instances: 0
72
+ #: Number of Part instances: 1
73
+ #: Number of Meshes: 1
74
+ #: Number of Element Sets: 3
75
+ #: Number of Node Sets: 4
76
+ #: Number of Steps: 2
77
+ import ModelView
78
+ ModelView.ModelViewFunc(render_beams='Off', deflection=50, scalefactor=-1,
79
+ step=-1, x_in_or_out='In')
80
+ session.viewports['Viewport: 1'].odbDisplay.commonOptions.setValues(
81
+ deformationScaling=AUTO)
82
+ session.viewports['Viewport: 1'].view.setValues(nearPlane=177.283,
83
+ farPlane=232.65, width=73.245, height=23.6504, viewOffsetX=2.91954,
84
+ viewOffsetY=-14.1809)
85
+ session.animationController.setValues(animationType=HARMONIC, viewports=(
86
+ 'Viewport: 1', ))
87
+ session.animationController.play(duration=UNLIMITED)
88
+ session.animationController.setValues(animationType=NONE)
89
+ session.viewports['Viewport: 1'].odbDisplay.setFrame(step=1, frame=2 )
90
+ session.animationController.setValues(animationType=HARMONIC, viewports=(
91
+ 'Viewport: 1', ))
92
+ session.animationController.play(duration=UNLIMITED)
93
+ session.animationController.setValues(animationType=NONE)
94
+ session.animationController.setValues(animationType=HARMONIC, viewports=(
95
+ 'Viewport: 1', ))
96
+ session.animationController.play(duration=UNLIMITED)
97
+ session.animationController.setValues(animationType=NONE)
98
+ session.viewports['Viewport: 1'].odbDisplay.setFrame(step=1, frame=3 )
99
+ session.animationController.setValues(animationType=HARMONIC, viewports=(
100
+ 'Viewport: 1', ))
101
+ session.animationController.play(duration=UNLIMITED)
102
+ session.animationController.setValues(animationType=NONE)
103
+ session.viewports['Viewport: 1'].odbDisplay.setFrame(step=1, frame=4 )
104
+ session.animationController.setValues(animationType=HARMONIC, viewports=(
105
+ 'Viewport: 1', ))
106
+ session.animationController.play(duration=UNLIMITED)
107
+ session.viewports['Viewport: 1'].view.setValues(nearPlane=183.89,
108
+ farPlane=226.563, width=33.9884, height=10.9747, viewOffsetX=-0.30252,
109
+ viewOffsetY=-14.5106)
110
+ session.animationController.setValues(animationType=NONE)
111
+ session.viewports['Viewport: 1'].odbDisplay.setFrame(step=1, frame=5 )
112
+ session.animationController.setValues(animationType=HARMONIC, viewports=(
113
+ 'Viewport: 1', ))
114
+ session.animationController.play(duration=UNLIMITED)
115
+ session.animationController.setValues(animationType=NONE)
116
+ session.viewports['Viewport: 1'].odbDisplay.setFrame(step=1, frame=6 )
117
+ session.animationController.setValues(animationType=HARMONIC, viewports=(
118
+ 'Viewport: 1', ))
119
+ session.animationController.play(duration=UNLIMITED)
@@ -0,0 +1,96 @@
1
+ from driverConstants import *
2
+ from driverStandardMPI import StandardMPIAnalysis
3
+ import driverUtils, sys
4
+ options = {
5
+ 'SIMExt':'.sim',
6
+ 'ams':OFF,
7
+ 'analysisType':STANDARD,
8
+ 'applicationName':'analysis',
9
+ 'aqua':OFF,
10
+ 'beamSectGen':OFF,
11
+ 'biorid':OFF,
12
+ 'cavityTypes':[],
13
+ 'cavparallel':OFF,
14
+ 'complexFrequency':OFF,
15
+ 'contact':OFF,
16
+ 'cosimulation':OFF,
17
+ 'coupledProcedure':OFF,
18
+ 'cpus':4,
19
+ 'cse':OFF,
20
+ 'cyclicSymmetryModel':OFF,
21
+ 'directCyclic':OFF,
22
+ 'direct_solver':DMP,
23
+ 'dsa':OFF,
24
+ 'dynamic':OFF,
25
+ 'filPrt':[],
26
+ 'fils':[],
27
+ 'finitesliding':OFF,
28
+ 'foundation':OFF,
29
+ 'geostatic':OFF,
30
+ 'geotech':OFF,
31
+ 'heatTransfer':OFF,
32
+ 'importer':OFF,
33
+ 'importerParts':OFF,
34
+ 'includes':[],
35
+ 'initialConditionsFile':OFF,
36
+ 'input':'simple_truss',
37
+ 'inputFormat':INP,
38
+ 'interactive':None,
39
+ 'job':'simple_truss',
40
+ 'keyword_licenses':[],
41
+ 'lanczos':ON,
42
+ 'libs':[],
43
+ 'magnetostatic':OFF,
44
+ 'massDiffusion':OFF,
45
+ 'modifiedTet':OFF,
46
+ 'moldflowFiles':[],
47
+ 'moldflowMaterial':OFF,
48
+ 'mp_file_system':(DETECT, DETECT),
49
+ 'mp_head_node':('ntnu08422.win.ntnu.no', 'ntnu08422', '10.100.192.158', '192.168.10.105'),
50
+ 'mp_host_list':(('ntnu08422', 4),),
51
+ 'mp_mode':MPI,
52
+ 'mp_mode_requested':MPI,
53
+ 'mp_mpi_validate':OFF,
54
+ 'mp_mpirun_path':'C:\\Program Files\\Microsoft MPI\\bin\\mpiexec.exe',
55
+ 'mp_rsh_command':'dummy %H -l oyvinpet -n %C',
56
+ 'multiphysics':OFF,
57
+ 'noDmpDirect':[],
58
+ 'noMultiHost':[],
59
+ 'noMultiHostElemLoop':['frequency'],
60
+ 'no_domain_check':1,
61
+ 'outputKeywords':ON,
62
+ 'parameterized':OFF,
63
+ 'partsAndAssemblies':ON,
64
+ 'parval':OFF,
65
+ 'postOutput':OFF,
66
+ 'preDecomposition':ON,
67
+ 'restart':OFF,
68
+ 'restartEndStep':OFF,
69
+ 'restartIncrement':0,
70
+ 'restartStep':0,
71
+ 'restartWrite':OFF,
72
+ 'rezone':OFF,
73
+ 'runCalculator':OFF,
74
+ 'soils':OFF,
75
+ 'soliter':OFF,
76
+ 'solverTypes':['DIRECT', 'DIRECT'],
77
+ 'standard_parallel':ALL,
78
+ 'staticNonlinear':ON,
79
+ 'steadyStateTransport':OFF,
80
+ 'step':ON,
81
+ 'subGen':OFF,
82
+ 'subGenLibs':[],
83
+ 'subGenTypes':[],
84
+ 'submodel':OFF,
85
+ 'substrLibDefs':OFF,
86
+ 'substructure':OFF,
87
+ 'symmetricModelGeneration':OFF,
88
+ 'thermal':OFF,
89
+ 'tmpdir':'C:\\Users\\oyvinpet\\AppData\\Local\\Temp',
90
+ 'tracer':OFF,
91
+ 'visco':OFF,
92
+ 'xplSelect':OFF,
93
+ }
94
+ analysis = StandardMPIAnalysis(options)
95
+ status = analysis.run()
96
+ sys.exit(status)