예제 #1
0
파일: __init__.py 프로젝트: ryanGT/research
    def __init__(self,params,symname='Ubeam',symlabel='beam', **kwargs):
        """Create a continous beam element.  params should be a
        dictionary with keys 'mu', 'L', and 'EI'.  If the beam is more
        than 1 dimensional (i.e. if maxsize!=4), than params should
        specify 'EI1' and 'EI2' as well as 'EA', 'm11', 'GJ' if axial
        and torsional analysis is to be performed.

        kwargs must include {'usez':True} if a 4x4 beam element should
        model bending about the z-axis.  The y-axis is used if 'usez'
        is False or not specified."""
        if kwargs.has_key('usez'):
            self.usez=kwargs['usez']
            kwargs.pop('usez')
        else:
            self.usez=False
        TMMElementLHT.__init__(self,'beam',params,symname=symname,symlabel=symlabel,**kwargs)
예제 #2
0
파일: __init__.py 프로젝트: ryanGT/research
    def __init__(self,params,**kwargs):
        """Create a rigid mass element.  params should be a dictionary
         with keys 'L', 'm', 'r', and 'I'.  'L' is the length of the
         element.  'm' is the mass of the element.  'r' is the
         distance to the center of gravity of the link.  'I' is the
         second moment of inertia and it should be a vector if this is
         a 2 or 3D link.

        kwargs should contain {'usez':True} if a 4x4 rigid mass
        element should model rotation about the z-axis."""
        if kwargs.has_key('usez'):
            self.usez=kwargs['usez']
            kwargs.pop('usez')
        else:
            self.usez=False
        TMMElementLHT.__init__(self,'rigid',params,**kwargs)
예제 #3
0
파일: __init__.py 프로젝트: ryanGT/research
 def __init__(
     self, link0symlabel, joint1symlabel, link1symlabel, avssymlabel, Ga=1, axis=1, maxsize=4, label="", **kwargs
 ):
     L0 = "L" + link0symlabel
     L1 = "L" + link1symlabel
     m1 = "m" + link1symlabel
     r1 = "r" + link1symlabel
     Iz1 = "I" + link1symlabel
     c1 = "c" + joint1symlabel
     k1 = "k" + joint1symlabel
     tau = "tau" + avssymlabel
     gain = "Ka" + avssymlabel
     Gc = "Gc" + avssymlabel
     values = [L0, L1, m1, r1, Iz1, c1, k1, tau, gain, Gc, Ga]
     keys = ["L0", "L1", "m1", "r1", "Iz1", "c1", "k1", "tau", "gain", "Gc", "Ga"]
     params = {}
     for key, value in zip(keys, values):
         params[key] = rwkmisc.symstr(value)
     #            params[key]=ModelSpec.Par(value)
     params["axis"] = axis
     TMMElementLHT.__init__(self, "accelfb", params, maxsize=maxsize, label=label, **kwargs)
예제 #4
0
파일: __init__.py 프로젝트: ryanGT/research
 def __init__(self,params,symlabel='M',**kwargs):
     """Create a 2 by 2 mass element.  params is a dictionary with
     only one key: params={'m':##.##} (the mass of the cart)."""
     TMMElementLHT.__init__(self,'rigid',params,maxsize=2,symlabel=symlabel,**kwargs)
예제 #5
0
파일: __init__.py 프로젝트: ryanGT/research
 def __init__(
     self,
     link0,
     joint1,
     link1,
     avs,
     Ga=1,
     axis=1,
     maxsize=4,
     label="",
     symlabel="accelfb",
     symname="Uaccelfb",
     compensators="Ga",
     **extraargs
 ):
     """Initializes the accelerometer feedback element.  link0,
     joint1, link1, and avs are all TMMElement's that must be
     passed in.  Their parameters are used in creating the transfer
     matrix for acceleration feedback."""
     l0params = link0.params
     #        a = -(L0*m1*r1*s^2-c1*s-k1)/(c1*s+k1);
     #        b = -((L0*m1*r1^2-L0*L1*m1*r1+Iz1*L0)*s^2+(c1*L1+c1*L0)*s+k1*L1+k1*L0)/(c1*s+k1);
     #        c = L0/(c1*s+k1);
     #        d = L0*L1/(c1*s+k1);
     L0 = l0params["L"]
     l1params = link1.params
     L1 = l1params["L"]
     m1 = l1params["m"]
     r1 = l1params["r"]
     Iz1 = l1params["I"]
     j1params = joint1.params
     c1 = j1params["c"]
     k1 = j1params["k"]
     gain = avs.params["Ka"]
     Gc = avs.params["Gc"]
     params = {
         "L0": L0,
         "L1": L1,
         "m1": m1,
         "r1": r1,
         "Iz1": Iz1,
         "c1": c1,
         "k1": k1,
         "axis": axis,
         "gain": gain,
         "Gc": Gc,
         "Ga": Ga,
     }
     if avs.params.has_key("tau"):
         params["tau"] = avs.params["tau"]
     for curkey, curvalue in params.iteritems():
         if curkey != "Ga":
             if shape(curvalue):
                 curvalue = copy.deepcopy(curvalue)[0]
                 params[curkey] = curvalue
     TMMElementLHT.__init__(
         self,
         "accelfb",
         params,
         maxsize=maxsize,
         label=label,
         symlabel=symlabel,
         symname=symname,
         compensators=compensators,
         **extraargs
     )
     # set up symbolic params
     sL0 = "L" + link0.symlabel
     sL1 = "L" + link1.symlabel
     sm1 = "m" + link1.symlabel
     sr1 = "r" + link1.symlabel
     sIz1 = "I" + link1.symlabel
     sc1 = "c" + joint1.symlabel
     sk1 = "k" + joint1.symlabel
     stau = "tau" + avs.symlabel
     sgain = "Ka" + avs.symlabel
     sGc = "Gc" + avs.symlabel
     sGa = "Ga"
     values = [sL0, sL1, sm1, sr1, sIz1, sc1, sk1, stau, sgain, sGc, sGa]
     keys = ["L0", "L1", "m1", "r1", "Iz1", "c1", "k1", "tau", "gain", "Gc", "Ga"]
     symparams = {}
     for key, value in zip(keys, values):
         symparams[key] = rwkmisc.symstr(value)
     #            params[key]=ModelSpec.Par(value)
     symparams["axis"] = axis
     self.symparams = symparams