Skip to content

Commit ea8e0c3

Browse files
committed
fix: avoid overdetermined initialization for TranslationalPosition
1 parent fe6bc00 commit ea8e0c3

File tree

1 file changed

+15
-24
lines changed

1 file changed

+15
-24
lines changed

src/Mechanical/TranslationalPosition/components.jl

Lines changed: 15 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ Flange fixed in housing at a given position.
1616
s_0 = 0
1717
end
1818
@components begin
19-
flange = Flange(; s = s_0)
19+
flange = Flange()
2020
end
2121
@equations begin
2222
flange.s ~ s_0
@@ -53,7 +53,7 @@ Sliding mass with inertia
5353
f(t)
5454
end
5555
@components begin
56-
flange = Flange(; s = s)
56+
flange = Flange()
5757
end
5858
@equations begin
5959
flange.s ~ s
@@ -65,7 +65,7 @@ end
6565

6666
const REL = Val(:relative)
6767
@component function Spring(::Val{:relative}; name, k, va = 0.0, vb = 0.0,
68-
delta_s = 0, flange_a__s = 0, flange_b__s = 0)
68+
delta_s = 0)
6969
pars = @parameters begin
7070
k = k
7171
end
@@ -87,56 +87,47 @@ const REL = Val(:relative)
8787
flange_b.f ~ -f]
8888

8989
return compose(
90-
ODESystem(eqs, t, vars, pars; name = name,
91-
defaults = [
92-
flange_a.s => flange_a__s,
93-
flange_b.s => flange_b__s,
94-
flange_a.f => +delta_s * k,
95-
flange_b.f => -delta_s * k
96-
]),
90+
ODESystem(eqs, t, vars, pars; name = name),
9791
flange_a,
9892
flange_b)
9993
end
10094

10195
const ABS = Val(:absolute)
10296

10397
"""
104-
Spring(; name, k, flange_a__s = 0, flange_b__s = 0, l=0)
98+
Spring(; name, k, l=0)
10599
106100
Linear 1D translational spring
107101
108102
# Parameters:
109103
110104
- `k`: [N/m] Spring constant
111105
- `l`: Unstretched spring length
112-
- `flange_a__s`: [m] Initial value of absolute position of flange_a
113-
- `flange_b__s`: [m] Initial value of absolute position of flange_b
114106
115107
# Connectors:
116108
117109
- `flange_a: 1-dim. translational flange on one side of spring`
118110
- `flange_b: 1-dim. translational flange on opposite side of spring` #default function
119111
"""
120-
function Spring(; name, k, flange_a__s = 0, flange_b__s = 0, l = 0)
121-
Spring(ABS; name, k, flange_a__s, flange_b__s, l)
112+
function Spring(; name, k, l = 0)
113+
Spring(ABS; name, k, l)
122114
end #default function
123115

124116
@component function Spring(::Val{:absolute};
125-
name, k, flange_a__s = 0,
126-
flange_b__s = 0, l = 0)
117+
name, k, l = 0)
127118
pars = @parameters begin
128119
k = k
129120
l = l
130121
end
131122
vars = @variables begin
132-
f(t) = k * (flange_a__s - flange_b__s - l)
123+
f(t)
133124
end
134125

135-
@named flange_a = Flange(; s = flange_a__s, f = k * (flange_a__s - flange_b__s - l))
136-
@named flange_b = Flange(; s = flange_b__s, f = -k * (flange_a__s - flange_b__s - l))
126+
@named flange_a = Flange()
127+
@named flange_b = Flange()
137128

138129
eqs = [
139-
# delta_s ~ flange_a.s - flange_b.s
130+
# delta_s ~ flange_a.s - flange_b.s
140131
f ~ k * (flange_a.s - flange_b.s - l) #delta_s
141132
flange_a.f ~ +f
142133
flange_b.f ~ -f]
@@ -166,12 +157,12 @@ Linear 1D translational damper
166157
@variables begin
167158
va(t)
168159
vb(t)
169-
f(t) = +(va - vb) * d
160+
f(t)
170161
end
171162

172163
@components begin
173-
flange_a = Flange(; s = 0.0, f = (va - vb) * d)
174-
flange_b = Flange(; s = 0.0, f = -(va - vb) * d)
164+
flange_a = Flange()
165+
flange_b = Flange()
175166
end
176167

177168
@equations begin

0 commit comments

Comments
 (0)