raptop changed the topic of #principia to: READ THE FAQ: http://goo.gl/gMZF9H; The current version is Fréchet. We currently target 1.5.1, 1.6.1, and 1.7.x. <scott_manley> anyone that doubts the wisdom of retrograde bop needs to get the hell out | https://xkcd.com/323/ | <egg> calculating the influence of lamont on Pluto is a bit silly… | <egg> also 4e16 m * 2^-52 is uncomfortably large
Mike` has quit [Ping timeout: 378 seconds]
Mike` has joined #principia
Raidernick_ has quit [Ping timeout: 204 seconds]
raptop has quit [Ping timeout: 378 seconds]
Raidernick has joined #principia
<_whitenotifier-d13c>
[Principia] pleroy opened issue #2569: Physical objects should get orientation/angular velocity changes - https://git.io/JfRLp
<_whitenotifier-d13c>
[Principia] pleroy opened issue #2570: DiscreteTrajectory should use a vector, not a map - https://git.io/JfRtJ
<_whitenotifier-d13c>
[Principia] pleroy assigned issue #2569: Physical objects should get orientation/angular velocity changes - https://git.io/JfRLp
<discord->
egg. — @Butcher had plans for something for kOS I believe
<discord->
Stonesmile. — i did find some documentation on integration with kOS, but for an older version. Is there a reason the integration would get removed?
<discord->
egg. — it never existed, so I am unsure why it was documented
<discord->
Sir Mortimer. — git status
<discord->
Sir Mortimer. — oops
<discord->
Stonesmile. — Huh, that's weird. It was very limited tho, it only got the planned maneuver's dV an times
<discord->
egg. — never implemented ; @Butcher had something in the works iirc
<discord->
Stonesmile. — i giess giving the api access to modify manouevre nodes would be hard/not wanted?
<discord->
Stonesmile. — i guess giving the api access to modify manouevre nodes would be hard/not wanted? (edited)
<discord->
egg. — both, yes
<discord->
Stonesmile. — gotcha
<discord->
egg. — it would very quickly constrain development in that area, because doing anything would break whatever we settled on
<discord->
Stonesmile. — makes sense, principia is a mod with very fast development, wouldn't want to stop that
<discord->
Standecco. — speaking of development, what's in the works now that persistent rotation has made it in? After the latest spin bug is fixed, I mean
<discord->
Damien. — so it's relating to the positions of celestials, instead of having to log years worth of history?
<discord->
Damien. — or crafts and celestials?
<discord->
Standecco. — > in english for the mathematically challenged?
<discord->
Standecco. — I subscribe to this then
<discord->
Damien. — I just click butan make go
<discord->
Damien. — this channel makes me feel so dumb
<discord->
egg. — not sure what was unclear in "ephemeris representation"
<discord->
egg. — but basically, make histories more smol
<discord->
Damien. — I had to google what an ephermeris was
<discord->
Damien. — I had to google what an ephemeris was (edited)
<discord->
Standecco. — ok, understood now
<discord->
egg. — stuff like INPOP, DE430, etc.
<discord->
Standecco. — back to google
<discord->
egg. — (these are examples of ephemerides)
<discord->
egg. — (though they are not very compactly represented)
<discord->
egg. — basically the goal to address 2400 is to keep the histories long (in terms of time), but since they are known to have interesting properties (e.g., orbits repeat) to make them smaller (in memory and savefile space) by taking advantage of that
<discord->
Standecco. — so you'd be "compressing" the history based on repeating properties?
<discord->
egg. — in a sense, yes, but very much an application-specific kind of "compression"
<discord->
egg. — we tried a general-purpose compression, and that gave us a factor of four, but it does not get much better than that
<discord->
egg. — See https://forum.kerbalspaceprogram.com/index.php?/topic/162200-wip151-161-17x-181-principia%E2%80%94version-fubini-released-2020-04-23%E2%80%94n-body-and-extended-body-gravitation-axial-tilt/page/60/&tab=comments#comment-3753887
<discord->
Standecco. — > we tried a general-purpose compression, and that gave us a factor of four, but it does not get much better than that
<discord->
Standecco. — @egg 2485?
<discord->
Damien. — sounds good
<discord->
Damien. — in the meantime I've gotten good at deleting things as soon as I don't need them
<discord->
egg. — yes, ZFP
<discord->
Standecco. — I'm wondering, aren't you the first in most of these things?
<discord->
egg. — no, see the forum post
<discord->
egg. — we would likely doing something based on work by Chapront et al.
<discord->
egg. — from the eighties
<discord->
Standecco. — I was thinking that no one had the need of real time calculations of this accuracy, but I forgot that computers used to be slower
<discord->
Standecco. — I was thinking that no one had had the need of real time calculations of this accuracy, but I forgot that computers used to be slower (edited)
raptop has quit [*.net *.split]
_whitenotifier-d13c has quit [*.net *.split]
Jesin has quit [*.net *.split]
sdrodge has quit [*.net *.split]
acc has quit [*.net *.split]
armed_troop has quit [*.net *.split]
UmbralRaptop has quit [*.net *.split]
Rokker has quit [*.net *.split]
Majiir has quit [*.net *.split]
NCommander has quit [*.net *.split]
mofh has quit [*.net *.split]
mofh_ has quit [*.net *.split]
Raidernick has quit [*.net *.split]
Mike` has quit [*.net *.split]
Iskierka has quit [*.net *.split]
kmath has quit [*.net *.split]
goblin has quit [*.net *.split]
icefire has quit [*.net *.split]
<discord->
egg. — real-time is utterly irrelevant here
<discord->
egg. — why do people keep bringing up real time
<discord->
egg. — real time is no-timewarp; that is extremely slow
<discord->
Standecco. — real time means sub-30ms to me
<discord->
egg. — the ability to simulate things fast (for these purposes, to support high timewarp) is always interesting
raptop has joined #principia
UmbralRaptop has joined #principia
Raidernick has joined #principia
Mike` has joined #principia
armed_troop has joined #principia
Jesin has joined #principia
Iskierka has joined #principia
sdrodge has joined #principia
acc has joined #principia
kmath has joined #principia
goblin has joined #principia
Rokker has joined #principia
Majiir has joined #principia
mofh_ has joined #principia
mofh has joined #principia
NCommander has joined #principia
_whitenotifier-d13c has joined #principia
icefire has joined #principia
<discord->
egg. — sub 30ms means sub-30 ms; real time means "keeps up with the passage of time"
<discord->
egg. — and in the case of 2400 the question is not one of speed, but one of space anyway
<discord->
Standecco. — I guess the colloquial meaning is slightly different
<discord->
egg. — @Standecco you could say that the real-time constraint in the game is that you have 20 ms to do your physics step, or the game will slow down and the MET clock will go yellow
<discord->
egg. — (it’s a soft constraint though, because it’s not the end of the world if the clock goes yellow and you slow down a bit)
<discord->
Standecco. — > Real-time programs must guarantee response within specified time constraints, often referred to as "deadlines".
<discord->
Standecco. — I was referring to this, yes
<discord->
egg. — but 20 ms is a very long time to do the « real real time » work that you have to do for n-body gravitation out of timewarp
<discord->
egg. — now, at sufficiently high timewarp, we eventually fail the real time constraint, as you have noticed
<discord->
egg. — (aka, the game becomes laggy)
<discord->
egg. — but this becomes a very fuzzy idea of real time : you can always warp less, and so really it just is about « how fast can you compute »
<discord->
egg. — and that is a concern that you have even if you are at NASA ; simulating spacecraft trajectories faster is better because you can simulate more of them, so try more options, etc.
<discord->
egg. — so in that sense there is really nothing special about there being a game involved here
<discord->
egg. — things are radically different, say, for @ferram4
<discord->
egg. — here you have a true real-time constraint
<discord->
egg. — and that is one that truly prevents some normal approaches from being taken
<discord->
Standecco. — much harder calculations there, right?
<discord->
Standecco. — much longer calculations there, right? (edited)
<discord->
egg. — yes, and normally you would do them slower-than-real-time
<discord->
egg. — but here, your plane can suddenly decide that it has no wings, and you are not going to spend five hours on a high performance computing cluster to figure out how it flies once that happens
<discord->
Standecco. — back to principia, do you always keep the same simulation substep, regardless of time warp rate? I assume so to prevent different results at different speeds, but maybe you have some clever trick to avoid inaccuracies
<discord->
egg. — yeah, we are very careful to not let warp rate influence anything
<discord->
egg. — the timestep for vessels is 10 s in RSS, 10 min for celestials
<discord->
Standecco. — }``` predicting the future, I see
<discord->
egg. — uh
<discord->
egg. — what
<discord->
egg. — 500 times faster, maybe
<discord->
egg. — this is not at all about the real-time constraint though
<discord->
egg. — we can compute many of these 10 s steps before we reach the 20 ms allotted game step
<discord->
Standecco. — of course, but you don't compute any if the vessel isn't actively accelerating and its trajectory isn't changing, right?
<discord->
egg. — sure, but that is for numerical reasons, not performance reasons
<discord->
egg. — as an example (these are not actual numbers, but just to inject a vague sense of scale into the discussion), say it takes us 10 μs to compute one history step of the vessel
<discord->
egg. — then the real-time constraint hits at timewarp one million
<discord->
egg. — at that time, we will need to compute (20 ms * 1 000 000) of history per 20 ms game frame
<discord->
Standecco. — would you need 10x as much time if the step was 1s?
<discord->
lamont. — dormand prince with the free interpolant?
<discord->
egg. — which is 2000 steps, which takes us exactly 20 ms
<discord->
egg. — @lamont ?
<discord->
egg. — @Standecco 10 times as much time to do what
<discord->
Standecco. — to compute 10 days of trajectory, for example
<discord->
egg. — sure
<discord->
Standecco. — or any length, for that matter
<discord->
egg. — there would be 10 times more steps
<discord->
egg. — so 10 times more work
<discord->
Standecco. — so if I made the steps 20s I could double my max warp rate
<discord->
Standecco. — so if I made the step 20s I could double my max warp rate (edited)
<discord->
egg. — at equal lag, yes
<discord->
egg. — (but you would lose precision)
<discord->
Standecco. — could you quantify the precision loss?
<discord->
egg. — that would take some work, so no
<discord->
egg. — well, I can tell you the integrator is 8th order
<discord->
egg. — so I guess the errors would increase by a factor of 100 000 000
<discord->
egg. — uh sorry
<discord->
egg. — 2
<discord->
egg. — so 256
<discord->
egg. — so I guess the errors would increase by a factor of ~~100 000 000~~ (edited)
<discord->
lamont. — i'm familiar with DP45, not with that one though. DP45 is what ODE45 in matlab uses, its got a free interpolant where you can just plug it into a cubic hermite interpolant and get interior points out of your solution.
<discord->
egg. — yeah I am familiar with matlab’s use of Dormand-Prince 45
<discord->
egg. — but this is not a generic Runge-Kutta method
<discord->
egg. — this is a Runge-Kutta-Nyström method
<discord->
egg. — it makes use of the fact that you have a 2nd order differential equation
<discord->
egg. — I’m not sure it has nice properties with respect to interpolation ; for predictions we stuff it in a cubic Hermite spline anyway and it seems to behave well enough ; for psychohistories interpolation is irrelevant
<discord->
egg. — this deals with the fact that 10 s is longer than the game step, so we end up between history steps
<discord->
egg. — the psychohistory bridges the gap (and then it is dropped at the next history step; it is not a source of truth unless you turn on your engines)
<discord->
Standecco. — > spline
<discord->
Standecco. — ah, a word I've recently learned for once
<discord->
Standecco. — > psychohistory
<discord->
Standecco. — @egg really cool
<discord->
egg. — anyway, back to rotations
<discord->
Standecco. — funny because I'm studying rigid body
raptop has quit [Ping timeout: 378 seconds]
raptop has joined #principia
<discord->
Butcher. — @egg @Stonesmile I kinda dropped the kOS integration for principia as you can do basically everything using the stock manoeuvre node integration.
<discord->
egg. — @Butcher shall I close the issue then?
<discord->
Butcher. — Sure.
<discord->
Butcher. — The only thing the nide doesn;t have is the burn duration and that can dervied from the dV easily enough.
<discord->
Butcher. — The only thing the node doesn't have is the burn duration and that can dervied from the dV easily enough. (edited)
<discord->
Butcher. — Also principia has incorrect RCS duration still I think.
<discord->
egg. — huh, what are we doing wrong there?
<_whitenotifier-d13c>
[Principia] eggrobin commented on issue #2144: Extending the external API to allow for interaction with flight planning - https://git.io/JfR2D
<_whitenotifier-d13c>
[Principia] eggrobin closed issue #2144: Extending the external API to allow for interaction with flight planning - https://git.io/fjsM0
<discord->
Butcher. — We discussed it before, you average the thrust vectors instead of just taking the maximum
<discord->
egg. — do we have an issue?
<discord->
Butcher. — This leads to RCS having 1/N of its actual thrust
<discord->
egg. — discussions tend to fall out of my brain
<discord->
Butcher. — I don't recall it was a while ago.
<discord->
Butcher. — Doesn't look like I put in an issue.
<_whitenotifier-d13c>
[Principia] RCrockford opened issue #2571: RCS burns in editor are incorrect for multi-port thrusters - https://git.io/JfRan
<_whitenotifier-d13c>
[Principia] RCrockford edited issue #2571: RCS burns in editor are incorrect for multi-port thrusters - https://git.io/JfRan
<_whitenotifier-d13c>
[Principia] pleroy synchronize pull request #2566: Three new API functions - https://git.io/JfWFL
<discord->
egg. — @Butcher wait, is it the sum, or the max
<discord->
Butcher. — I think the sum.
<discord->
Butcher. — But it's a bit tricky to test.
<discord->
Butcher. — If you had an RCS thruster with two ports oriented at 45° to the travel direction, you'd get thrust from both.
<discord->
Butcher. — Such that the net thrust was in the cirrect direction.
<discord->
Butcher. — Such that the net thrust was in the correct direction. (edited)
<discord->
Butcher. — What I don't know there is, do you get 1.4 times max thrust, or is it capped to max thrust?
<discord->
egg. — right, but would the total thrust be maxThrust, or—eggsactly
<discord->
Butcher. — Or something else? maybe they each fire at 50% and you get 0.7 thrust.
<discord->
egg. — yeah I would eggspect that one
<discord->
Butcher. — That would make some sense. But then if you have one at 80° and one at 20° what do you get?
<discord->
Butcher. — Maybe max is correct because you always get the maximum in that direction and all the others just offset the unaligned thrust?
<discord->
SláinteMhaith. — Well, I can now select targets again, and MechJeb launches into plane of target.
<discord->
SláinteMhaith. — Things it wasn't doing with Principia installed.
<discord->
SláinteMhaith. — So, "work" in this case means "functional" rather than ...the opposite of that.
<discord->
egg. — well, yes, but obviously you don’t get the features of Principia, so it works in much the same way that uninstalling KSP works as a way to avoid its bugs :-p
<discord->
SláinteMhaith. — Nice.
<discord->
SláinteMhaith. — I'd love to try it, but it was getting in my way, I'm afraid. =)
<discord->
SláinteMhaith. — I have no idea why it would be marfing up MechJeb or the map program.
<discord->
egg. — Well it definitely changes the way you interact with map view; you have to go through the Principia UI to select targets
<discord->
SláinteMhaith. — Or, yes, I know, why those mods would be intruding on Principia.
<discord->
SláinteMhaith. — That...could do it. If I just selected the map version of the moon, that would throw off MechJeb, then, yes?
<discord->
lpg. — there _are_ known problems with principia and launch-into-plane
<discord->
egg. — Principia entirely changes everything you know about map view and flight planning, so if you expect to jump right in and know your way around from stock, you will be surprised
<discord->
egg. — (and yes, there are some odd interactions specifically with launching into plane, likely because MechJeb assumes planes do not vary, but this is slightly less immediate than « everything about the UI changes »)
<discord->
SláinteMhaith. — I started with Orbiter back in the day, so I'm not unfamiliar with the concepts.
<discord->
SláinteMhaith. — Although my mind has gotten lamer since then.
<discord->
egg. — the page is perhaps poorly named ; knowing where the buttons are matters, beyond just the physical concepts
<discord->
SláinteMhaith. — I started with Orbiter back in the day (2000), so I'm not unfamiliar with the concepts. (edited)
<discord->
SláinteMhaith. — I'll do the smart thing and cp my install that works and then rm PR and add Principia and make it go.
<discord->
Butcher. — > That...could do it. If I just selected the map version of the moon, that would throw off MechJeb, then, yes?
<discord->
Butcher. — @SláinteMhaith mj might not be able to launch into the plane of the moon with principia.
<discord->
Butcher. — As the plane of the moon varies more than in patched conic land.
<discord->
egg. — yeah one aspect is that the moon becomes trickier, but that is a problem with the moon, rather than one with Principia or MechJeb :-p
<discord->
egg. — changing the orbit of the moon is left as an exercise to the reader
<discord->
egg. — (you can also do that to change our release schedule btw)
<discord->
Butcher. — I just launch polar for the moon.