1
1
2
2
function PartialTorque (; name, use_support = false )
3
- @named partial_element = PartialElementaryOneFlangeAndSupport2 (use_support = use_support)
4
- @unpack flange, phi_support = partial_element
5
- @variables phi (t) [description = " Angle of flange with respect to support (= flange.phi - support.phi)" ]
6
- eqs = [phi ~ flange. phi - phi_support]
7
- return extend (ODESystem (eqs, t; name = name), partial_element)
3
+ @named partial_element = PartialElementaryOneFlangeAndSupport2 (use_support = use_support)
4
+ @unpack flange, phi_support = partial_element
5
+ @variables phi (t) [
6
+ description = " Angle of flange with respect to support (= flange.phi - support.phi)" ,
7
+ ]
8
+ eqs = [phi ~ flange. phi - phi_support]
9
+ return extend (ODESystem (eqs, t; name = name), partial_element)
8
10
end
9
11
10
-
11
12
"""
12
13
Torque(; name, use_support=false)
13
14
@@ -34,21 +35,20 @@ function Torque(; name, use_support = false)
34
35
return extend (ODESystem (eqs, t, [], []; name = name, systems = [tau]), partial_element)
35
36
end
36
37
37
-
38
-
39
38
function ConstantTorque (; name, tau_constant, use_support = false )
40
- # NOTE: The use_support option is not specified for modelica ConstantTorque and defaults to false in the definition of PartialElementaryOneFlangeAndSupport2. If we do not set it to true, we will get a structurally singular system, and in the comment attached to the phi variable, they mention "flange.phi - support.phi", indicating that the support is used.
41
- @named partial_element = PartialTorque (; use_support)
42
- @unpack flange, phi = partial_element
43
- @parameters tau_constant= tau_constant [description = " Constant torque (if negative, torque is acting as load in positive direction of rotation)" ]
44
- @variables tau (t) [description = " Accelerating torque acting at flange (= -flange.tau)" ]
45
- @variables w (t) [description = " Angular velocity of flange with respect to support (= der(phi))" ]
46
- eqs = [
47
- w ~ D (phi)
48
- tau ~ - flange. tau
49
- tau ~ tau_constant
50
- ]
51
- return extend (ODESystem (eqs, t; name = name), partial_element)
39
+ @named partial_element = PartialTorque (; use_support)
40
+ @unpack flange, phi = partial_element
41
+ @parameters tau_constant= tau_constant [
42
+ description = " Constant torque (if negative, torque is acting as load in positive direction of rotation)" ,
43
+ ]
44
+ @variables tau (t) [description = " Accelerating torque acting at flange (= -flange.tau)" ]
45
+ @variables w (t) [
46
+ description = " Angular velocity of flange with respect to support (= der(phi))" ,
47
+ ]
48
+ eqs = [w ~ D (phi)
49
+ tau ~ - flange. tau
50
+ tau ~ tau_constant]
51
+ return extend (ODESystem (eqs, t; name = name), partial_element)
52
52
end
53
53
54
54
"""
0 commit comments