JoePfeiffer
ff6b23f366
merge integrateInertiaVolume() into integrate()
2023-11-21 16:40:57 -07:00
JoePfeiffer
4b1c6a4f4b
eliminate SymmetricComponent::integrateInertiaSurface()
...
Previously, the code calculated the volume of a component, and if that volume was too small calculated its moments of inertia based on the surface instead of the volume. The decision wasn't based on the thickness of the shell (which might have made sense to me), it was the actual volume. The result is any really small component had its moments of inertia calculated using this surface method, no matter how "solid" the object was.
The cause of #2403 was that this method was used to calculate the moments of inertia in the .ork that failed, but the actual CG was used in the parallel axis theorem. This put the CG in a different place than a "surface CG" would have, so the longitudinal moment of inertia ended up less than 0 triggering the crash.
Now, if a component is so small that's volume is 0 it is assumed its contribution to moment of inertia must also be negligible, so the moments of inertia are set to 0 in this case.
2023-11-21 16:01:41 -07:00
JoePfeiffer
9fec2af7a8
Use Double.NaN to identify values that haven't been calculated. Spotting uncalculated values by checking for <0 is just asking for trouble down the line.
2023-11-21 15:54:35 -07:00
SiboVG
6e2d79e156
[ #2409 ] Don't use fixed precision for shape parameter
2023-11-21 00:45:23 +01:00
SiboVG
c6ecc5c035
Use meters->feet conversion for RASAero rod length
2023-11-21 00:31:36 +01:00
SiboVG
8f4ccd747a
[ #2345 ] Reintroduce motor ignition delay optimization
2023-11-19 03:40:41 +01:00
SiboVG
e3b52efc84
Add message source to message
2023-11-19 01:43:05 +01:00
SiboVG
9c163fa551
Rename custom color class to ORColor
2023-11-19 00:47:55 +01:00
SiboVG
c0c00dd6c3
Merge unstable
2023-11-17 23:29:05 +01:00
SiboVG
06ca16724d
Merge remote-tracking branch 'origin/unstable' into unstable
2023-11-17 23:22:35 +01:00
SiboVG
d838157209
Only support Java 17
2023-11-17 23:22:25 +01:00
JoePfeiffer
e752aa6c28
Merge branch 'unstable' into fix-acceleration-status
...
Fix conflicts between FlightEventsTest on the two branches
2023-11-17 11:02:04 -07:00
Joe Pfeiffer
d9a3927637
Merge pull request #2346 from JoePfeiffer/inch-surface-roughness
...
Add "inch" units to surface roughness
2023-11-17 09:01:01 -07:00
Joe Pfeiffer
5507ae06e1
Merge pull request #2402 from SiboVG/issue-2388
...
[#2388 ] Sync wind average speed, standard div & turbulence widgets
2023-11-17 08:59:15 -07:00
SiboVG
cdeef020b7
Set wind turbulence to 0 when average speed is 0
2023-11-17 02:08:19 +01:00
Joe Pfeiffer
7fd390e4d3
Merge branch 'openrocket:unstable' into inch-surface-roughness
2023-11-15 11:02:36 -07:00
JoePfeiffer
c0b0eab4e6
Clean up code for mass and CG overrides
...
For component assemblies, set CG to CG of children when overriding mass
Fix handling of "override for children"
2023-11-15 09:13:09 -07:00
JoePfeiffer
98562bcfa7
Fix comments regarding mass and CG overrides
2023-11-15 07:09:20 -07:00
SiboVG
94c2c1ef38
Major refactor of simulation options UI
2023-11-15 04:41:31 +01:00
Joe Pfeiffer
2e599f18e0
Merge branch 'openrocket:unstable' into inch-surface-roughness
2023-10-26 15:31:06 -06:00
Joe Pfeiffer
92d692f029
Merge branch 'openrocket:unstable' into fix-acceleration-status
2023-10-26 15:30:45 -06:00
JoePfeiffer
01f1dd1dc6
Avoid divide by 0 in TubeCalc when velocity is 0 by setting CD to 0 in this case.
2023-10-26 14:06:42 -06:00
Sibo Van Gool
e46c0bec2b
Merge pull request #2379 from SiboVG/issue-2378
...
Include radius clamping in clamping exclude
2023-10-21 01:42:44 +02:00
SiboVG
10c4d3da82
Include radius clamping in clamping exclude
2023-10-21 01:42:16 +02:00
Joe Pfeiffer
29e3166487
Merge branch 'openrocket:unstable' into inch-surface-roughness
2023-10-17 07:57:14 -06:00
Joe Pfeiffer
831ef43233
Merge branch 'openrocket:unstable' into fix-acceleration-status
2023-10-17 07:56:56 -06:00
Joe Pfeiffer
d8434e8550
Merge branch 'openrocket:unstable' into fix-2278
2023-10-15 06:42:21 -06:00
JoePfeiffer
bcdf32ecba
Don't include shoulders in CG calculation for applying parallel axis theorem to longitudinal inertia, as they aren't included in calculation of longitudinal inertia itself.
2023-10-15 06:20:10 -06:00
JoePfeiffer
141b5ec845
Turned out the unpopulated column also affected CSV export; also, I left a line of debug in
2023-10-12 14:37:21 -06:00
Joe Pfeiffer
27e668cbce
Merge branch 'openrocket:unstable' into fix-acceleration-status
2023-10-12 12:35:32 -06:00
JoePfeiffer
03a6e614b8
load/save optimum delay time
2023-10-09 10:17:14 -06:00
JoePfeiffer
2759711950
Explicitly store optimum delay in flight data, instead of recalculating from flight data branch of time it's wanted
2023-10-09 10:16:49 -06:00
SiboVG
94724d9a9d
WIP
2023-09-28 18:52:33 +02:00
JoePfeiffer
3ff29f8d0e
Merge branch 'unstable' into fix-acceleration-status
...
Not quite sure what the conflict was with the flight events test. It looked like it was just the changes I made on this branch...
2023-09-26 17:05:26 -06:00
JoePfeiffer
7bafe94f23
Pass acceleration data to post listeners
...
Also, existing code wouldn't call calculation post-listeners if pre-listeners had been called. Fixes that.
2023-09-26 16:48:54 -06:00
JoePfeiffer
7a2ede6e24
Use current atmospheric conditions, not previous conditions, in calculating thrust.
...
This lets us get rid of previousAtmosphericConditions completely.
Note that while we pass acceleration and atmospheric conditions into calculateAverageThrust(), we don't actually do anything with them there. They appear to be passed in for some sort of eventual enhancements when we do things like altitude compensation for motors, or acceleration for hybrids or water rockets.
It also turned out that while we called getPreviousAtmosphericConditions() when call ing calculateAverageThrust(), setPreviousAtmosphericConditions() was never called.
2023-09-26 14:46:09 -06:00
JoePfeiffer
faa7c03308
Make store persistent instead of creating a new one every step()
...
Use timestep remaining in store instead of getPreviousTimeStep() and setPreviousTimeStep()
2023-09-23 14:19:59 -06:00
JoePfeiffer
d740e2933c
Add "inch" units to surface roughness
2023-09-21 20:17:07 -06:00
SiboVG
d36b5d3e9d
[ #2341 ] Sanitize groupnames
2023-09-20 13:27:58 +02:00
SiboVG
19854154b4
Refactor filename illegal char method
2023-09-20 13:27:38 +02:00
SiboVG
7d323862ed
Add thrust-to-weight flight data type
...
Co-authored-by: ERKCreeper <erkcreeper@gmail.com>
2023-09-18 22:52:15 +02:00
Sibo Van Gool
c78dc3bca7
Merge pull request #2325 from SiboVG/issue-2324
...
[#2324 ] Add option to exclude motors from OBJ export
2023-09-15 23:54:53 +02:00
SiboVG
85004849f5
[ #2324 ] Add option to exclude motors from OBJ export
2023-09-14 00:00:04 +02:00
SiboVG
e9264d9dcf
Clamp shoulder thickness when radius changes
2023-09-09 22:24:39 +02:00
SiboVG
a7a2f4acc9
Don't export transition inside when filled due to shoulder
2023-09-09 22:23:33 +02:00
SiboVG
74cd0e9636
Warn for zero-thickness shoulder
2023-09-09 14:14:22 +02:00
SiboVG
08c002ed57
Add shoulder margin
2023-09-09 14:05:27 +02:00
SiboVG
5c68fda00e
[ #2316 ] Add warning for zero-thickness component OBJ export
2023-09-09 12:36:04 +02:00
SiboVG
33fbfaef18
Fix PR #2134
2023-09-06 21:49:22 +02:00
Sibo Van Gool
ff8731e164
Merge pull request #2301 from SiboVG/3D-export
...
[#604 ] Implement 3D component exporting to Wavefront OBJ
2023-09-05 20:54:26 +02:00