I tried to reproduce the example presented in the Brick u-p element.
Below I am presenting the code.
Code: Select all
import opensees as ops
ops.wipe()
ops.model('basic','-ndm',3,'-ndf',4)
a = 1
ops.node(1,0,0,0)
ops.node(2,0,0,a)
ops.node(3,0,a,0)
ops.node(4,0,a,a)
ops.node(5,a,0,0)
ops.node(6,a,0,a)
ops.node(7,a,a,0)
ops.node(8,a,a,a)
ops.nDMaterial('PressureDependMultiYield02',1,3,1.8,9e4,22e4,31,0.1,80,0.5,26,0.067,0.23,0.06,0.27)
ops.fix(1,1,1,1,0)
ops.fix(2,0,1,0,1)
ops.fix(3,1,1,1,0)
ops.fix(4,0,1,0,1)
ops.fix(5,1,1,1,0)
ops.fix(6,0,1,0,1)
ops.fix(7,1,1,1,0)
ops.fix(8,0,1,0,1)
ops.equalDOF(2,4,1,3)
ops.equalDOF(2,6,1,3)
ops.equalDOF(2,8,1,3)
ops.element('brickUP',1,1,5,7,3,2,6,8,4,1,2.2e6,1,1e-5,1e-5,1e-5,0,0,-9.81)
ops.recorder('Node','-file','TRAIL_PP_pressure_TX.txt','-time','-nodeRange',1,8,'-dof',4,'vel')
ops.recorder('Element','-ele',1,'-time','-file','TRAIL_PP_stress_TX.txt','-dT',0.01,'material',1,'stress')
damp = 0.1
omega1 = 0.0157
omega2 =64.123
a1 = 2*damp/(omega1+omega2)
a0 = a1*omega1*omega2
# Create Analysis
ops.constraints('Penalty',1e18,1e18)
ops.test('NormDispIncr',1e-8,20,1)
ops.algorithm('KrylovNewton')
ops.numberer('Plain')
ops.system('ProfileSPD')
ops.integrator('Newmark',0.5,0.25)
ops.rayleigh(a0,0,a1,0)
ops.analysis('Transient')
ops.analyze(100,5)
Kindly, clarify my doubt.
Thanks in advance.
Best regards,
Trish.