def METHOD_NAME(self, **kwargs):
    structural_step = settings_utils.set_value_or_default(kwargs, 'structural_step', self.data.structure.timestep_info[-1])
    dt= settings_utils.set_value_or_default(kwargs, 'dt', self.settings['dt'])  
    if self.data.ts > 0:
        try:
            structural_step.for_vel[:] = self.data.structure.dynamic_input[self.data.ts - 1]['for_vel']
            structural_step.for_acc[:] = self.data.structure.dynamic_input[self.data.ts - 1]['for_acc']
        except IndexError:
            pass
    Temp = np.linalg.inv(np.eye(4) + 0.25*algebra.quadskew(structural_step.for_vel[3:6])*dt)
    structural_step.quat = np.dot(Temp, np.dot(np.eye(4) - 0.25*algebra.quadskew(structural_step.for_vel[3:6])*dt, structural_step.quat))
    xbeamlib.cbeam3_solv_disp2state(self.data.structure, structural_step)
    # xbeamlib.cbeam3_step_nlndyn(self.data.structure,
    #                             self.settings,
    #                             self.data.ts,
    #                             structural_step,
    #                             dt=dt)
    self.extract_resultants(structural_step)
    if self.data.ts > 0:
        self.data.structure.integrate_position(structural_step, self.settings['dt'])
    return self.data