-
Notifications
You must be signed in to change notification settings - Fork 83
Description
I was trying to use the _IntialStateAnalysis for my model in Openseespy. To check the applicability I tried to run the example given at https://opensees.berkeley.edu/wiki/index.php/InitialStateAnalysisWrapper
the kernel keeps getting crashed with Windows fatal exception: code 0xc0000374.
following is the conversion from tcl to py
"
import openseespy.opensees as op
op.model ('BasicBuilder', '-ndm', 3, '-ndf', 3)
##create the nodes
op.node (1, 1.0,0.0, 0.0)
op.node (2, 1.0,1.0, 0.0)
op.node (3, 0.0,1.0, 0.0)
op.node (4, 0.0,0.0, 0.0)
op.node (5, 1.0,0.0, 1.0)
op.node (6, 1.0,1.0, 1.0)
op.node (7, 0.0,1.0, 1.0)
op.node (8, 0.0,0.0, 1.0)
##boundary conditions
op.fix (1, 1, 1, 1)
op.fix (2, 1, 1, 1)
op.fix (3, 1, 1, 1)
op.fix (4, 1, 1, 1)
op.fix (5, 1, 1, 0)
op.fix (6, 1, 1, 0)
op.fix (7, 1, 1, 0)
op.fix (8, 1, 1, 0)
##define main material object
op.nDMaterial ('DruckerPrager', 1, 2777.8, 925, 5., 0.398, 0.398, 0, 0, 0, 0, 0, 1, 1.7)
##define material wrapper
op.nDMaterial ('InitialStateAnalysisWrapper', 2, 1, 3)
##create the element (NOTE: the material tag associated with this element is that of the wrapper)
op.element ('SSPbrick', 1, 1, 2, 3, 4, 5, 6, 7, 8, 2, 0.0, 0.0, -17.0)
##create the pre-gravity recorders
step = 0.1
op.recorder ('Node', '-time', '-file', 'Gdisp.out', '-dT', step, '-nodeRange', 5, 8, '-dof', 1, 2, 3, 'disp')
op.recorder ('Element', '-ele', 1, '-time', '-file', 'Gstress.out', '-dT', step, 'stress')
op.recorder ('Element', '-ele', 1, '-time', '-file', 'Gstrain.out', '-dT', step, 'strain')
##create the gravity analysis
op.integrator ('LoadControl', 0.1)
op.numberer ('RCM')
op.system ('SparseGeneral')
op.constraints ('Transformation')
op.test ('NormDispIncr', 1e-5, 40, 1)
op.algorithm ('Newton')
op.analysis ('Static')
##turn on the initial state analysis feature
op.InitialStateAnalysis ('on')
##analyze four steps
op.analyze (4)
##turn off the initial state analysis feature
op.InitialStateAnalysis ('off')
##create post-gravity recorders
op.recorder ('Node', '-time', '-file', 'disp.out', '-dT', step, '-nodeRange', 5, 8, '-dof', 1, 2, 3, 'disp')
op.recorder ('Element', '-ele', 1, '-time', '-file', 'stress.out', '-dT', step, 'stress')
op.recorder ('Element', '-ele', 1, '-time', '-file', 'strain.out', '-dT', step, 'strain')
##analyze for three steps, should have non-zero stress and strain with zero displacement
op.analyze (3)
op.wipe()