JoePfeiffer
bf9fc29bcd
Refine timestep
...
1. Solve for 0-crossing in vertical velocity, vertical acceleration
2. Limit timestep to next event
3. Revert to using acceleration instead of jerk to limit timestep
4. Save calculations (eg calculate acceleration) in FlightData at start of timestep, results (eg velocity, position) at end of timestep
2024-03-08 07:39:53 -07:00
JoePfeiffer
e6e92d6a7b
Move actual Euler integration into a separate method, to avoid code duplication when it has to be recalculated.
2024-02-25 09:21:34 -07:00
JoePfeiffer
b285de1c49
0 mass should be an abort, not an exception
2024-02-24 06:39:29 -07:00
JoePfeiffer
7f7e4018ad
Add a bunch of data to the FlightData branch
...
Lots of calculated data hadn't been getting logged. There's still a bunch more that could be, but it isn't clear what use pitch rate (for instance) would be so not logging those
2024-02-23 20:49:15 -07:00
JoePfeiffer
14cf635bba
Flight data reflecting conditions at the start of the simulation step should be placed in the flight log at that time; new data created during the simulation step should be placed after.
2024-02-23 10:51:28 -07:00
JoePfeiffer
4b497b0cd3
cleanup: variables that are only assigned once should be marked "final"
2024-02-23 10:34:31 -07:00
Sibo Van Gool
7c246e7144
Merge pull request #2457 from JoePfeiffer/allow-sustainer-tumble
...
Allow sustainer tumble before apogee
2024-02-19 17:11:13 +01:00
SiboVG
cca0ec4a24
Add triangulation method setting to OBJ export dialog
2024-02-14 13:19:18 +01:00
SiboVG
dfd497b9d1
Use all face vertices to calculate face normal
...
This ensures correct normals, even for e.g. freeform fins of which the 3 first vertices are concave
2024-02-14 02:19:52 +01:00
SiboVG
b3ef442350
Refactor and document
2024-02-13 23:40:36 +01:00
SiboVG
7c5556390b
Remove old delaunay method
2024-02-13 23:29:46 +01:00
SiboVG
30e49e1929
Support normals and textures for triangulated faces
2024-02-13 23:29:18 +01:00
SiboVG
17bc98b54f
Correct for face culling after triangulation
2024-02-13 23:13:42 +01:00
SiboVG
69e604c389
Improve efficiency of 2D projection
2024-02-12 23:22:43 +01:00
JoePfeiffer
02cd098d51
Update unit tests
...
The Falcon 9 Heavy test rocket isn't aerodynamically stable, so allowing the sustainer to tumble before apogee causes an immediate TUMBLE_UNDER_THRUST abort. So, this commit adds a new rocket with a sustainer, core booster, and two side boosters that is stable.
2024-02-12 14:48:50 -07:00
SiboVG
77844f80a2
[ #2444 ] Add first rudimentary CDT triangulation
2024-02-12 22:23:45 +01:00
JoePfeiffer
03f5c8924e
allow sustainer to tumble before apogee.
...
I don't know if it's actually possible for the sustainer to tumble when not
under thrust (I guess it would need a tractor motor and very careful CG-CP design so it would tumble immediately after burnout?) but the conditions are checked separately just in case
2024-02-10 06:59:48 -07:00
SiboVG
5e61ffb491
Refactor simple OBJ triangulation
2024-02-07 15:41:34 +01:00
Joe Pfeiffer
6ada3ff347
Merge pull request #2452 from SiboVG/fin-svg-export
...
Allow fins to be exported to an SVG file
2024-01-31 17:33:54 -07:00
SiboVG
9ecabd585f
Also add fin tabs to SVG export
2024-01-31 12:43:53 +01:00
SiboVG
74cfa4dde5
Allow fins to be exported to SVG
2024-01-30 20:47:27 +01:00
JoePfeiffer
56bf5e1af8
Don't add delay time in again when queueing upper stage ignition event
2024-01-29 09:13:00 -07:00
JoePfeiffer
3513cb9bba
log placing events in event queue. Don't do it for ALTITUDE events, since
...
those would dominate the log.
2024-01-29 09:01:42 -07:00
JoePfeiffer
692152e34e
Change simulation warning when recovery is deployed while still under thrust to a simulation abort.
2024-01-28 14:51:23 -07:00
SiboVG
d60ba1f1d8
Also copy stage activeness when copying rocket
...
This fixes an issue where undoing/redoing stage activeness actions wouldn't work.
2024-01-27 04:48:53 +01:00
SiboVG
01df928f3c
Support RockSim booster importing
2024-01-27 03:26:05 +01:00
SiboVG
b5704c108c
Apply config listener action to common classes
2024-01-27 01:15:42 +01:00
SiboVG
b795fb0eb5
RockSim uses 0 for false and 1 for true :')
2024-01-24 18:01:42 +01:00
SiboVG
ddb73b5ca1
Can't have direct pod children of pod
2024-01-24 17:54:44 +01:00
SiboVG
e1ab350624
Use pod/booster split for RockSim export
2024-01-24 17:48:39 +01:00
SiboVG
24e72f0bd1
Rename custom invalidate method to avoid confusion with java.awt invalidate
...
This caused issue because the invalidating of invalidatables was sometimes triggered by AWT processes
2024-01-24 01:53:04 +01:00
SiboVG
e3eeecd7ae
Refactor model invalidation to dedicated class
2024-01-24 01:40:09 +01:00
SiboVG
a793f27f51
[ #2435 ] Copy stageMap instead of directly referencing it
...
This change is to ensure that the stageMap property of the Rocket class is isolated from its source object. Previously, it directly referenced the stageMap of the source, but now we create an entirely new ConcurrentHashMap to hold those stages. This will prevent possible conflicts and unwanted modifications to the source stageMap.
2024-01-22 14:07:46 +01:00
SiboVG
940b913dfa
[ #2377 ] Add booster/pod split functionality
2024-01-21 02:14:18 +01:00
SiboVG
d2fc662a56
Verify listener addition/removal
2024-01-21 00:01:50 +01:00
SiboVG
ff1ed750c4
[ #2438 ] Support RockSim booster exporting
2024-01-19 16:51:46 +01:00
SiboVG
49cdbe5426
Minor improvements
2024-01-12 00:18:01 +01:00
JoePfeiffer
00babafc7a
Put underscores in SimulationAbort enum constants for readability
2024-01-11 09:42:46 -07:00
JoePfeiffer
f5755cc4af
Add explicit test and abort for "no stages defined" running simulation
2024-01-11 09:30:41 -07:00
JoePfeiffer
6273c7a7be
Merge branch 'unstable' into SIMFAIL-flight-event
2024-01-10 08:29:50 -07:00
JoePfeiffer
3c02dbc2d1
Put "null" in data field of ALTITUDE events inserted for motor firing; check for null in altitude deployment configuration.
2024-01-10 08:09:23 -07:00
JoePfeiffer
843c2e6d22
Only show error checkbox if there are errors
2024-01-09 17:36:44 -07:00
JoePfeiffer
18b0e39738
No more addEvent in BasicEventSimualationEngine; only down in currentStatus
2024-01-07 14:43:03 -07:00
JoePfeiffer
7f56cd01f5
Merge branch 'unstable' into SIMFAIL-flight-event
2024-01-07 14:38:18 -07:00
JoePfeiffer
e51b76e176
Prevent RK4 simulation timestep from extending past next scheduled event.
...
Calculate thrust at sample points instead of averaged across timestep
2024-01-04 14:03:12 -07:00
JoePfeiffer
f25bfda6f2
Missed a simulation exception on zero mass that should have been an abort event
2024-01-04 06:57:51 -07:00
JoePfeiffer
10909ccf21
Add logic to better support CHAD staging (booster with no fins).
...
This will require more accurate thrust calculations to work properly.
2024-01-03 15:30:49 -07:00
JoePfeiffer
aec15658cd
Tumbling under thrust should be a sim abort, not a warning.
...
Leaving the old warning in for backward compatibility.A .ork that triggered the warning will load cleanly. On rerunning the sims in the .ork the warning will go away and the sims will abort.
2024-01-03 10:53:58 -07:00
JoePfeiffer
07e15ddaa2
Merge branch 'unstable' into SIMFAIL-flight-event
2024-01-03 07:31:13 -07:00
JoePfeiffer
f9a8f59247
Add simulation aborts to .ork file load/save
2024-01-03 07:09:24 -07:00