Fixed potentially nasty bug in xbeam interface
@@ -46,6 +46,7 @@ class Xbopts(ct.Structure):
self.ElemProj = ct.c_int(0)
self.MaxIterations = ct.c_int(99)
self.NumLoadSteps = ct.c_int(5)
+ self.NumGauss = ct.c_int(0)
self.Solution = ct.c_int(111)
self.DeltaCurved = ct.c_double(1.0e-2)
self.MinDelta = ct.c_double(1.0e-8)
@@ -837,8 +838,10 @@ def cbeam3_asbly_dynamic(beam, tstep, settings):
beam.ini_info.psi.ctypes.data_as(doubleP),
tstep.pos.ctypes.data_as(doubleP),
tstep.pos_dot.ctypes.data_as(doubleP),
+ tstep.pos_ddot.ctypes.data_as(doubleP),
tstep.psi.ctypes.data_as(doubleP),
tstep.psi_dot.ctypes.data_as(doubleP),
+ tstep.psi_ddot.ctypes.data_as(doubleP),
tstep.steady_applied_forces.ctypes.data_as(doubleP),
tstep.unsteady_applied_forces.ctypes.data_as(doubleP),
tstep.for_vel.ctypes.data_as(doubleP),
@@ -860,6 +863,8 @@ def cbeam3_asbly_dynamic(beam, tstep, settings):
beam.fortran['vdof'].ctypes.data_as(intP),
beam.fortran['fdof'].ctypes.data_as(intP),
ct.byref(xbopts),
+ # CAREFUL, this is dXddt, with num_dof elements,
+ # not num_dof + 10
tstep.dqddt.ctypes.data_as(doubleP),
tstep.quat.ctypes.data_as(doubleP),
tstep.gravity_forces.ctypes.data_as(doubleP),
@@ -937,8 +942,10 @@ def xbeam3_asbly_dynamic(beam, tstep, settings):
beam.ini_info.psi.ctypes.data_as(doubleP),
tstep.pos.ctypes.data_as(doubleP),
tstep.pos_dot.ctypes.data_as(doubleP),
+ tstep.pos_ddot.ctypes.data_as(doubleP),
tstep.psi.ctypes.data_as(doubleP),
tstep.psi_dot.ctypes.data_as(doubleP),
+ tstep.psi_ddot.ctypes.data_as(doubleP),
tstep.steady_applied_forces.ctypes.data_as(doubleP),
tstep.unsteady_applied_forces.ctypes.data_as(doubleP),
tstep.for_vel.ctypes.data_as(doubleP),
