예제 #1
0
# -*- coding: utf-8 -*-
"""
Created on Wed Jun  3 21:15:49 2015

@author: oliver
"""
import numpy as np
from sympy import symbols

import mubosym as mbs

############################################################
# general system setup example
myMBS = mbs.MBSworld('moving_pendulum', connect=True, force_db_setup=False)

I = [0., 0., 0.]

############################################################
# rotating frame constraint
#
omega = 2.5  #try up to 30
A = 2.0


def rotation_inp(t):
    return A * np.sin(omega * t)


def rotation_inp_diff(t):
    return A * omega * np.cos(omega * t)
예제 #2
0
# -*- coding: utf-8 -*-
"""
Created on Tue Apr 14 20:41:09 2015

@author: oliver
"""
import numpy as np
from sympy import symbols
import mubosym as mbs

###############################################################
# general system setup example
myMBS = mbs.MBSworld('reflective_wall', connect=False, force_db_setup=False)
#myMBS1 = MBS()

body = ["A", "B", "C"]
marker = ["A_M0", "B_M0", "C_M0"]
x0 = []

I = [1., 1., 1.]

######################################
# reflective wall reloaded
#setup clean line

#b_n[0] = myMBS.add_body_3d(999, 0, 1.0, I, 'rod-1-cardanic', parameters = [1.5,0.])
myMBS.add_body_3d(body[0], 'world_M0', 1.0, I, 'y-axes', parameters=[0.])
myMBS.add_force_special(body[0], 'grav')

myMBS.add_force(body[0], 'world_M0', parameters=[100., 0., 0.])
myMBS.add_marker(marker[0], body[0], 0., 0., 0.)
예제 #3
0
# -*- coding: utf-8 -*-
"""
Created on Tue Apr 14 20:41:09 2015

@author: oliver
"""
import numpy as np
from sympy import symbols
import mubosym as mbs

###############################################################
# general system setup example
myMBS = mbs.MBSworld('strange_pendulum', connect=False, force_db_setup=False)

b_n = []
m_n = []
b_n_max = 3
for ii in range(b_n_max):
    b_n.append(str(ii))
    m_n.append(str(ii) + "_M0")

I = [1., 1., 1.]

##################################
# cracy pendulum
myMBS.add_marker('world_M1', 'world', 0., 0., -np.pi / 4., 0.,
                 0.)  #np.pi/4.,np.pi/4.)
#b_n[0] = myMBS.add_body_3d(999, 1, 1.0, I , 'rod-revolute', parameters = [0.,np.pi/2,2.0]) #[np.pi/2., 2.0])
#b_n[0] = myMBS.add_body_3d(999, 1, 1.0, I , 'rod-2-cardanic', parameters = [2.0]) #[np.pi/2., 2.0])
myMBS.add_body_3d(b_n[0],
                  'world_M1',
예제 #4
0
# -*- coding: utf-8 -*-
"""
Created on Thu Jun 11 18:54:16 2015

@author: oliver
"""

import numpy as np
from sympy import symbols
import mubosym as mbs

###############################################################
# general system setup example
myMBS = mbs.MBSworld('crank_slider', connect=False, force_db_setup=False)

#prepare a standard
I = [0., 0., 0.]

######################################
# some loop constraint
myMBS.add_marker('world_M1', 'world', 0., 0., 0., 0., 0., 0.)
#myMBS.add_body_3d('b1','world_M1', 1.0, I, 'rod-1-cardanic-efficient', parameters = [1.0,0.])
myMBS.add_body_3d('b1',
                  'world_M1',
                  1.0,
                  I,
                  'rod-1-cardanic-efficient',
                  parameters=[-1.0, 0.])

myMBS.add_marker('b1_M0', 'b1', 0., 0., 0.)
myMBS.add_body_3d('b2',
예제 #5
0
# -*- coding: utf-8 -*-
"""
Created on Tue Apr 14 20:41:09 2015

@author: oliver
"""

import numpy as np
from sympy import symbols, sin

import mubosym as mbs
from interp1d_interface import interp
from driving_line import interp_dl
###############################################################
# general system setup example
myMBS = mbs.MBSworld('simple_car_sequ', connect=True, force_db_setup=False)

axes_rear_marker = ['body_car_rr', 'body_car_rl']
axes_front_marker = ['body_car_fr', 'body_car_fl']

I_car = [500., 3000., 1500.]
I_0 = [0., 0., 0.]
I_tire = [1., 1., 1.]

k = interp(filename=mbs.DATA_PATH + "/vel_01.dat")


#high end definition of static variables...
@mbs.static_vars(t_p=0, diff_p=0)
def lateral_inp(t):
    #return -20.
예제 #6
0
@author: oliver
"""

import numpy as np
from sympy import symbols, sin
import mubosym as mbs
from interp1d_interface import interp

################################################
# test 1
################################################
print("\n\n-------------------------------")
print("TEST 1...")
# general system setup example
myMBS = mbs.MBSworld('crank_slider', connect=False, force_db_setup=False)
#prepare a standard
I = [0., 0., 0.]
######################################
# some loop constraint
myMBS.add_marker('world_M1', 'world', 0., 0., 0., 0., 0., 0.)
myMBS.add_body_3d('b1',
                  'world_M1',
                  1.0,
                  I,
                  'rod-1-cardanic-efficient',
                  parameters=[-1.0, 0.])
myMBS.add_marker('b1_M0', 'b1', 0., 0., 0.)
myMBS.add_body_3d('b2',
                  'b1_M0',
                  1.0,
예제 #7
0
# -*- coding: utf-8 -*-
"""
Created on Tue Apr 14 20:41:09 2015

@author: oliver
"""
import numpy as np
from sympy import symbols
import mubosym as mbs

###############################################################
# general system setup example
myMBS = mbs.MBSworld('swing_table', connect=False, force_db_setup=False)

#prepare a standard
I = [0., 0., 0.]

######################################
# some loop constraint
myMBS.add_marker('world_M1', 'world', 1., 0., 0.)
myMBS.add_body_3d('b1',
                  'world_M0',
                  1.0,
                  I,
                  'rod-1-cardanic',
                  parameters=[-1.0, 0.])
myMBS.add_force_special('b1', 'grav')
#
myMBS.add_marker('b1_M0', 'b1', 0., 0., 0.)
myMBS.add_body_3d('b2',
                  'b1_M0',
예제 #8
0
# -*- coding: utf-8 -*-
"""
Created on Tue Apr 14 20:41:09 2015

@author: oliver
"""

import numpy as np
from sympy import symbols, sin
import mubosym as mbs
from interp1d_interface import interp


###############################################################
# general system setup example
myMBS = mbs.MBSworld('quarter_car', connect=True, force_db_setup=False)

#prepare a standard 
I_car = [500.,500.,500.]
I = [0.,0.,0.]
I_tire = [1.,1.,1.]
###################################
# quarter car model - revisited

myMBS.add_marker('world_M1', 'world', 0.,0.,0.)


###################################
# body of car
myMBS.add_body_3d('car_body', 'world_M1', 500.0, I_car , 'free-3-translate-z-rotate', parameters = [], graphics = False)
myMBS.add_marker('car_body_M0', 'car_body', 0.,0.,0.)
예제 #9
0
"""

# -*- coding: utf-8 -*-
"""
Created on Tue Apr 14 20:41:09 2015

@author: oliver
"""

import numpy as np
from sympy import symbols, sin
import mubosym as mbs

###############################################################
# general system setup example
myMBS = mbs.MBSworld('chain', connect=False, force_db_setup=False)

b_n = []
m_n = []
b_n_max = 3
for ii in range(b_n_max):
    b_n.append(str(ii))
    m_n.append(str(ii) + "_M0")

#prepare a standard
I = [0.5, 0.5, 0.5]

######################################
# large chain
#myMBS.add_marker('world_M1','world', 0.,0.,0., np.pi/2.0, 0.,0.)
myMBS.add_marker('world_M1', 'world', 0., 0., 0., 0., 0., 0.)
예제 #10
0
# -*- coding: utf-8 -*-
"""
Created on Tue Jun  9 23:07:13 2015

@author: oliver
"""
import numpy as np
from sympy import symbols, sin
import mubosym as mbs

###############################################################
# general system setup example
myMBS = mbs.MBSworld('bending_stiffness', connect=False, force_db_setup=False)

#prepare a standard
I = [10., 10., 10.]
###################################
# a complex torsional and bending stiffness example
myMBS.add_marker('world_M1', 'world', 0., 0., 1.)
myMBS.add_body_3d('rod_1',
                  'world_M1',
                  1.0,
                  I,
                  'rod-1-cardanic',
                  parameters=[0., 0.])  #[np.pi/2., 2.0])
myMBS.add_torque_3d('rod_1', 'bending-stiffness-1',
                    parameters=[np.pi, 800.])  # [0.,0.,0.]])
myMBS.add_force_special('rod_1', 'grav')
myMBS.add_marker('rod_1_M0', 'rod_1', 0., 0., 0.)

myMBS.add_body_3d('rod_2',
예제 #11
0
# -*- coding: utf-8 -*-
"""
Created on Thu Jun 11 18:54:16 2015

@author: oliver
"""
import numpy as np
from sympy import symbols, sin
import mubosym as mbs

###############################################################
# general system setup example
myMBS = mbs.MBSworld('new_constraint', connect=True, force_db_setup=False)

#prepare a standard
I = [0., 0., 0.]

######################################
# choose
setup = 'one-dof'
setup = 'two-dof'

if setup == 'two-dof':
    myMBS.add_marker('world_M1', 'world', 0., 0., 0., 0., 0., 0.)
    myMBS.add_body_3d('b1', 'world_M1', 1.0, I, 'xy-plane', parameters=[])
    myMBS.add_force_special('b1', 'grav')
    x0 = np.hstack((1., 0., 0., 0.))
#
elif setup == 'one-dof':
    myMBS.add_marker('world_M1', 'world', 0., 0., 0., 0., 0., 0.)
    myMBS.add_body_3d('b1',
예제 #12
0
# -*- coding: utf-8 -*-
"""
Created on Wed Jun  3 21:15:49 2015

@author: oliver
"""
import numpy as np
from sympy import symbols
import mubosym as mbs

###############################################################
# general system setup example
myMBS = mbs.MBSworld('rotating_pendulum', connect=False, force_db_setup=False)

I = [1., 1., 1.]

#############################################################
# rotating frame constraint
#
omega = 1.0
A = 5.5


def rotation_inp(t):
    return A * t  #np.sin(omega*t)


def rotation_inp_diff(t):
    return A  #*omega*np.cos(omega*t)

예제 #13
0
# -*- coding: utf-8 -*-
"""
Created on Tue Jun  9 23:07:13 2015

@author: oliver
"""
import numpy as np
from sympy import symbols
import mubosym as mbs

###############################################################
# general system setup example
myMBS = mbs.MBSworld('kreisel', connect=True, force_db_setup=False)

#prepare a standard
I = [50.,50.,50.]
I0 = [1.,1.,1.]
###################################
# Kreisel reloaded
#myMBS.add_body_3d('B1', 'world_M0', 1.0, I , 'free-3-rotate', parameters = []) #[np.pi/2., 2.0])
#myMBS.add_marker('B1_M', 'B1', 0., 0., 0., 0., 0., 0.)
#
#myMBS.add_body_3d('B2', 'B1_M', 10.0, I0, 'rod-zero', parameters = [2.0, 'X'])
#myMBS.add_force_special('B2', 'grav')
#
#x0 = np.hstack(( 0. * np.zeros(myMBS.dof), 0. * np.ones(myMBS.dof)))
#x0[3] = 30.

myMBS.add_body_3d('B1', 'world_M0', 1.0, I0 , 'free-3-rotate', parameters = []) #[np.pi/2., 2.0])
myMBS.add_marker('B1_M', 'B1', 0., 0., 0., 0., 0., 0.)
myMBS.add_body_3d('B2', 'B1_M', 10.0, I0, 'rod-zero-X', parameters = [2.0])
예제 #14
0
# -*- coding: utf-8 -*-
"""
Created on Tue Apr 14 20:41:09 2015

@author: oliver
"""
import numpy as np
from sympy import symbols
import mubosym as mbs

###############################################################
# general system setup example
myMBS = mbs.MBSworld('planetary_char', connect=True, force_db_setup=False)

#prepare a standard
I = [1., 1., 1.]

##################################################
# kennlinie test for a planetary setup
#myMBS.add_marker(999, 0.,0.,1.)
myMBS.add_body_3d('sun',
                  'world_M0',
                  1000.0,
                  I,
                  'xz-plane',
                  parameters=[],
                  graphics=False)  #[np.pi/2., 2.0])
myMBS.add_marker('sun_M1', 'sun', 0., 0., 0.)
myMBS.add_force_special('sun', 'grav')

myMBS.add_body_3d('planet1',