def energies_and_accelerations_update(O): model = featherstone_system_model(bodies=O.bodies) q = [None] * len(O.bodies) qd = [B.qd for B in O.bodies] # O.e_kin = e_kin_from_model(model, q, qd) O.e_pot_and_f_ext_update() # tau = None grav_accn = [0, 0, 0] qdd_using_f_ext_ff = featherstone.FDab(model, q, qd, tau, O.f_ext_ff, grav_accn, f_ext_in_ff=True) qdd_using_f_ext_bf = featherstone.FDab(model, q, qd, tau, O.f_ext_bf, grav_accn, f_ext_in_ff=False) assert approx_equal(qdd_using_f_ext_bf, qdd_using_f_ext_ff) O.qdd = qdd_using_f_ext_ff # X0s = FDab_X0(model, q, qd) e_pot_vfy = check_transformations(O.bodies, model.Ttree, X0s) assert approx_equal(e_pot_vfy, O.e_pot)
def energies_and_accelerations_update(O): model = featherstone_system_model(bodies=O.bodies) q = [None] * len(O.bodies) qd = [B.qd for B in O.bodies] # O.e_kin = e_kin_from_model(model, q, qd) O.e_pot_and_f_ext_update() # tau = None grav_accn = [0, 0, 0] O.qdd = featherstone.FDab(model, q, qd, tau, O.f_ext_bf, grav_accn)
def energies_and_accelerations_update(O): model = featherstone_system_model(bodies=O.bodies) q = [None]*len(O.bodies) qd = [B.qd for B in O.bodies] # O.e_kin = e_kin_from_model(model, q, qd) O.e_pot_and_f_ext_update() # tau = None grav_accn = [0,0,0] O.qdd = featherstone.FDab(model, q, qd, tau, O.f_ext_bf, grav_accn)
def energies_and_accelerations_update(O): model = featherstone_system_model(bodies=O.bodies) q = [None]*len(O.bodies) qd = [B.qd for B in O.bodies] # O.e_kin = e_kin_from_model(model, q, qd) O.e_pot_and_f_ext_update() # tau = None grav_accn = [0,0,0] qdd_using_f_ext_ff = featherstone.FDab( model, q, qd, tau, O.f_ext_ff, grav_accn, f_ext_in_ff=True) qdd_using_f_ext_bf = featherstone.FDab( model, q, qd, tau, O.f_ext_bf, grav_accn, f_ext_in_ff=False) assert approx_equal(qdd_using_f_ext_bf, qdd_using_f_ext_ff) O.qdd = qdd_using_f_ext_ff # X0s = FDab_X0(model, q, qd) e_pot_vfy = check_transformations(O.bodies, model.Ttree, X0s) assert approx_equal(e_pot_vfy, O.e_pot)