|
69 | 69 |
|
70 | 70 | # --- STEP 3: Add a pulley --- |
71 | 71 |
|
72 | | -push!(points, Point(22, [0, 0, set.l_tether + 5], DYNAMIC)) |
| 72 | +push!(points, Point(22, [0, 0, set.l_tether + 5], DYNAMIC; extra_mass=0.1)) |
73 | 73 | push!(points, Point(23, [1, 0, set.l_tether + 5], STATIC)) |
74 | 74 | push!(segments, Segment(21, 21, 22, |
75 | 75 | seg_stiffness, seg_damping, seg_diameter)) |
|
94 | 94 |
|
95 | 95 | # --- STEP 4: Add a kite --- |
96 | 96 |
|
97 | | -vsm_wing = VortexStepMethod.Wing(set; prn=false) |
| 97 | +vsm_set = VortexStepMethod.VSMSettings( |
| 98 | + joinpath(get_data_path(), "vsm_settings.yaml"); |
| 99 | + data_prefix=false) |
| 100 | +vsm_wing = VortexStepMethod.Wing(set, vsm_set; prn=false) |
98 | 101 | vsm_aero = BodyAerodynamics([vsm_wing]) |
99 | 102 | vsm_solver = Solver(vsm_aero; |
100 | 103 | solver_type=NONLIN, atol=2e-8, rtol=2e-8) |
101 | 104 | wings = [SymbolicAWEModels.Wing(1, vsm_aero, vsm_wing, |
102 | 105 | vsm_solver, [], I(3), [0.5, 0, set.l_tether + 6])] |
103 | 106 |
|
| 107 | +# WING-type points: 3 LE/TE pairs matching the 3 aero sections |
| 108 | +wing_z = set.l_tether + 6 |
| 109 | +for (i, y) in enumerate([-1.0, 0.0, 1.0]) |
| 110 | + n = length(points) |
| 111 | + push!(points, Point(n + 1, [-0.5, y, wing_z], |
| 112 | + WING; wing=1, transform=1, extra_mass=0.1)) |
| 113 | + push!(points, Point(n + 2, [0.5, y, wing_z], |
| 114 | + WING; wing=1, transform=1, extra_mass=0.1)) |
| 115 | +end |
| 116 | + |
104 | 117 | sys = SystemStructure("wing", set; |
105 | 118 | points, segments, tethers, winches, pulleys, |
106 | 119 | wings, transforms) |
|
0 commit comments