Jump to content

[WIP][1.8.1, 1.9.1, 1.10.1, 1.11.0–2, 1.12.2–5] Principia—version ‎Καραθεοδωρή, released 2024-04-08—n-Body and Extended Body Gravitation


eggrobin

Recommended Posts

  • 2 weeks later...

For the new moon (lunation number 286), the new release (Householder) is out.

No user-visible changes in this version as we have been laying the groundwork for future improvements. In particular, the orbit analyser has been completely rewritten with the goal of making it work with celestials (3493). Please report any bug or oddity that you may encounter with orbit analysis.

See the change log for more details.

Link to comment
Share on other sites

  • 4 weeks later...

Hello. Great mod - must have. Found a problem.

I'm using Householder on KSP 1.12.5 with JNSQ. The orbit increment/ decrement is not calculating the correct orbital period with some flight plan settings. 

Steps:

  1. Ship is in LKO 90km/ 80 km 5 deg inclined (heading to Minmus, have not tried other orbits)
  2. Start new flight plan, note there is a red NRE message displayed (always did this, it would be nice to fix that by the way)
  3. add maneuver (or manoeuvreaoui if you prefer) slide it to about 1/2 orbit ahead (arbitrary)
  4. hover over the +orbit increment button, it says "+1 nodal revolution (+45 min)" Correct so far!
  5. increase the plan length by 1 day (not critical). Note orange warning about integrator
  6. hover over the +orbit increment button, it says "+1 nodal revolution (+45 min)" still OK
  7. increment Max steps per segment to 4096. Orange warning clears.
  8. hover over the + orbit increment button, it says "+1 nodal revolution (-19 d 00 h 58 min)".  Increment is negative... not good.
  9. If you press the orbit increment button it will actually set it to 19 days in the past and gives a confusing orange warning with face scrunching effect: :huh:
Link to comment
Share on other sites

Thanks. Another thing... in stock, in the map view, there's a pop-up window that opens when right clicking another ship with options to "set target" and "jump to ship" IIRC. This menu doesn't exist with Principia (with my modded install anyway). I know setting target is handled in the Principia menu, but not having that method to jump to ship is hard to work around. Is this happening for everyone?

Edit: actually I'm not sure... I think it's left click a ship in stock to get that menu

Edited by Krazy1
Link to comment
Share on other sites

  • 5 weeks later...
  • 5 weeks later...

For the new moon (lunation number 289), the new release (ابن الهيثم) is out.

A new rotating and pulsating reference frame has been added; it is in this frame that the Lagrange points are defined for the elliptic restricted three body problem.

When this frame is used as the plotting frame, the equipotentials of the centrifugal plus gravitational potential are drawn, so that the Lagrange points can be seen.

This provides valuable context when planning low-energy transfers and other trajectories involving the Lagrange points. The following animation by @Al2Me6 illustrates the case of a ballistic capture around the Moon, where the trajectory can be seen to fall into the Moon’s potential well.

nt5goe6.gif

See the change log for more details.

Link to comment
Share on other sites

18 hours ago, eggrobin said:

A new rotating and pulsating reference frame has been added; it is in this frame that the Lagrange points are defined for the elliptic restricted three body problem.

I absolutely love this, even though it kills my FPS dead (from 45 to less than 2). Is there some setting to reduce the number of equipotentials? I would really only need two or three; the ones "crossing" at L1/L2 and possibly those around L4/L5. The other ones are nice for sceenshots though.

Link to comment
Share on other sites

1 hour ago, jd284 said:

I absolutely love this, even though it kills my FPS dead (from 45 to less than 2). Is there some setting to reduce the number of equipotentials? I would really only need two or three; the ones "crossing" at L1/L2 and possibly those around L4/L5. The other ones are nice for sceenshots though.

How many cores do you have?  The equipotential computation is completely asynchronous so it should be invisible if you have enough cores.

We will work on optimizing the equipotential computations in future releases.  However, I don't see us having a setting for the number of equipotentials, the heuristics to decide what to plot is already complicated enough.

Edit: Actually, computing the equipotentials is cheap (comparable to computing trajectories, which we do much faster than 50 fps for a single trajectory).  The really expensive part is the computation of the maxima of the potential, because that's a global optimization.  But the whole point of the feature is to locate these maxima, so there is no easy way out.

Edited by pleroy
Link to comment
Share on other sites

A major issue was found in the previously released build for ابن الهيثم: switching to the target-centred frame would cause an immediate crash, see issue #3653.

As a result, we have hotfixed the release; if you downloaded ابن الهيثم prior to this post, please click on the link in the OP or the GitHub readme to download it anew (the version string in the Principia UI should say 2023051916-ابن الهيثم-0-gd3ebe8f338fefbc96249e305fba493979fd67f32, not 2023051916-ابن الهيثم-0-g9f3105efa9ead54ad17567161fb59e5094829f7d).

We apologize for the inconvenience.

Link to comment
Share on other sites

3 hours ago, pleroy said:

How many cores do you have?  The equipotential computation is completely asynchronous so it should be invisible if you have enough cores.

It's a quad-core (8 HT), several years old i7-4790K at 4 GHz, running on Linux with RSS. When paused in map view, about 1.5 cores are in use on average, when unpaused it hits 3.5 - 4 cores.

There doesn't seem to be an impact whether the equipotentials are enabled or not in the main window, so as you say those don't seem to be the bottleneck (or do they still get calculated and just not displayed?), in any case it's probably not the graphics card either (Geforce 970), although it's at 100% usage whenever the game is running.

3 hours ago, pleroy said:

But the whole point of the feature is to locate these maxima, so there is no easy way out.

Do these have to get recalculated from scratch every frame, or do you use the previous frame as initial condition and only make small adjustments each frame?

It sounds like this computation is somehow much slower on my computer than it should be. I've noticed the FPS also scales very strongly now with the prediction steps setting, at 6.4e1 or below it's above 10 fps in the EML frame, and at 1.6e4 it's down to 1-2 fps. In other frames I have 40+ fps all the way up to 1.6e4.

It's not really a big deal however, since I would actually use this frame very rarely, but it's just so pretty to look at! I can just dial down the prediction steps when I need it.

Link to comment
Share on other sites

27 minutes ago, jd284 said:

Do these have to get recalculated from scratch every frame, or do you use the previous frame as initial condition and only make small adjustments each frame?

We constantly recompute them, but not at every frame, because it takes may be one second to do the computation.  You might observe that they update in a somewhat janky manner.

And we don't try to do things incrementally, because that way lies madness.

28 minutes ago, jd284 said:

It sounds like this computation is somehow much slower on my computer than it should be. I've noticed the FPS also scales very strongly now with the prediction steps setting, at 6.4e1 or below it's above 10 fps in the EML frame, and at 1.6e4 it's down to 1-2 fps. In other frames I have 40+ fps all the way up to 1.6e4.

That's good feedback.  I'm sure that there is room for optimization, but getting something out was our priority.

Link to comment
Share on other sites

 

I am running on an apple iron m1 with Ventura 13.3.1 (a) with kerbal 1.12.5

I just moved principia to the gamedata  folder and started kerbal   Principia failed to load with the following

********************************************************************************

The Principia DLL failed to load

An unknown error occurred: detected OS Unis 22.4.0.0 64 bit: tried loading dll at 

'Gamddata/principia/linus64/pincipia.so'

'Gamedata/principia/MACOS64/principia.so' Note that libc++abi1-8 and libc++1-8 or later(Linus) or Sierra or later(macOs) are required.

Warning don't load a Principia save before you have fixed this error; it mi8ght get damaged.

**********************************************************************

Had Principia been tested with Ventura or am I missing something.. I am not a c++ programmer . Just did Oracle DBA stuff for a really long time :)

 

Thanks 

 

Larry

Link to comment
Share on other sites

1 hour ago, cygnus008 said:

Had Principia been tested with Ventura or am I missing something.. I am not a c++ programmer . Just did Oracle DBA stuff for a really long time :)

We don't test on macOS as we don't have access to macOS machines.  We just build for it.

There are people using macOS on the Principia Discord channel.  You might try to ask there.  We haven't heard of problems so far, so it might be your install.

Link to comment
Share on other sites

  • 3 weeks later...

Oh wow, one of the big things that's kept me away from Principia despite my love of low-energy trajectories has always been in the UI and the difficulty of planning, but now, looking at the changelog, this new update is exactly what I needed - whenever I try to visualize the physics in my head, it's always in that new frame and in the context of equipotential surfaces, so I bet that'll be the final piece that'll finally make the interface intuitive enough for me to be able to effectively use it for the ultrafine maneuvers I'm used to doing with my particular gameplay style. I was originally just planning on grabbing it to retest my system's stability since it's changed a fair bit since the last test, but I might just have to actually play with it a bit now that it's got that. As long as my computer can handle it, at least (and I tend to have a pretty generous perception of "handling it")

Link to comment
Share on other sites

For the new moon (lunation number 290), the new release (伊藤) is out.

The computation of the equipotentials has been improved to make the results more useful for the outer planets, and its performance has been improved.

A cryptic error message has been improved.

See the change log for more details.

Link to comment
Share on other sites

1 hour ago, eggrobin said:

The computation of the equipotentials has been improved

Thank you! This makes it much faster for me, barely affects the framerate anymore instead of turning KSP into a slideshow. Greatly appreciated.

Link to comment
Share on other sites

Love this mod, but I'm having a weird issue when I have Principia installed. Certain parts like SM-6A Service Module and enclosed fairings will start to rotate faster and faster when free falling in atmosphere. Eventually their rotating increases so much that the craft krakens; and the camera shakes violently.

This behavior is only happening in atmospheres. Floating down to Venusian surface below 10m/s in a simple SM-6A service bay with 1.25m heat shield shield will see the craft start to rotate/spin without any reaction wheels. Once it starts to rotate, its rotation rate accelerates dramatically. Attaching any kind of wings or certain aerodynamic parts will counteract this spinning issue.

Removing Principia will cause these parts to behave normally again.

It certainly "feels" like a phantom force is being applied to one side of the craft. Again, this only occurs when Principia is installed.
Here is my player.log: https://www.mediafire.com/file/wr3eggjz2w0gj7t/Player.log/file
 

edit: The fix for me is to just not use those parts for re-entry capsules. A 1.25m service bay will never have this spinning issue, same for the pods that can contain Kerbals.

Edited by Wilds
Link to comment
Share on other sites

1 hour ago, Wilds said:

This is not the log that we need.  As a matter of fact, for such a tricky bug we'd need a journal taken while the problem happens.  Details here.

ETA: We would actually very much like to be able to investigate this issue.  We have had a report years ago of a similar problem but we never managed to get to the root cause.  Interestingly, there was a Service Module.  So maybe that tells us something.  You would help us greatly by providing a journal.

Edited by pleroy
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...