raptop changed the topic of #kspacademia to: https://gist.github.com/pdn4kd/164b9b85435d87afbec0c3a7e69d3e6d | Dogs are cats. Spiders are cat interferometers. | Космизм сегодня! | Document well, for tomorrow you may get mauled by a ネコバス. | <UmbralRaptor> egg|nomz|egg: generally if your eyes are dewing over, that's not the weather. | <ferram4> I shall beat my problems to death with an engineer. | We can haz pdf
egg|cell|egg has quit [Read error: Connection reset by peer]
egg|cell|egg has joined #kspacademia
egg|cell|egg has quit [Ping timeout: 206 seconds]
egg|cell|egg has joined #kspacademia
egg|work|egg has joined #kspacademia
egg|cell|egg has quit [Ping timeout: 190 seconds]
egg|cell|egg has joined #kspacademia
egg|cell|egg has quit [Read error: Connection reset by peer]
egg|cell|egg has joined #kspacademia
egg|cell|egg has quit [Read error: Connection reset by peer]
egg|cell|egg has joined #kspacademia
egg|cell|egg has quit [Ping timeout: 202 seconds]
egg|cell|egg has joined #kspacademia
egg|cell|egg has quit [Read error: Connection reset by peer]
egg|cell|egg has joined #kspacademia
UmbralRaptop has quit [Remote host closed the connection]
egg|cell|egg has quit [Ping timeout: 190 seconds]
egg|cell|egg has joined #kspacademia
UmbralRaptop has joined #kspacademia
egg|cell|egg has quit [Ping timeout: 198 seconds]
egg|cell|egg has joined #kspacademia
UmbralRaptop has quit [Remote host closed the connection]
UmbralRaptop has joined #kspacademia
<egg|work|egg>
!wpn roysmeding
* galois
gives roysmeding a friendly Einstein ray
<roysmeding>
huh
<roysmeding>
just as i was about to type something!
<egg|work|egg>
clearly the Einstein ray is to blame
<UmbralRaptop>
!wpn roysmeding
* galois
gives roysmeding a function
<roysmeding>
see, mofh suggested i go here for help with some orbital mechanics stuff. i've been trying to wrap my head around some old code for predicting tides
<roysmeding>
although that might have to wait now that i've learned about this interesting KSP mod...
<egg|work|egg>
yeah mofh pointed me to your tweets on the matter
<egg|work|egg>
mean elements are Fun
<egg|work|egg>
the best eggspression of that Fun might be that for very circular LEO, mean e is smaller than all osculating e
<roysmeding>
yeah, the main thing i'm trying to figure out at this point is whether there's any elegant way i can get from the osculating elements to the mean orbit + corrections as defined in the old fortran
<roysmeding>
egg|work|egg: yes, as defined in the fortran :)
<egg|work|egg>
there are as many mean element theories as there are papers on mean element theories
<roysmeding>
although a lot of the expressions i've come across in almanacs and such seem to match up pretty well
<egg|work|egg>
yeah
<egg|work|egg>
for the moon I'd really want to go with a numerical approach
<roysmeding>
but yeah, they start with a mean orbit and then do a lot of hardcoded math to correct it for nodal precession and such, and i feel like it should be possible to just work with data pulled from HORIZONS
<egg|work|egg>
an analytic theory just sounds like a pain
<roysmeding>
let HORIZONS do the numerical stuff for me :)
<egg|work|egg>
well
<egg|work|egg>
the numerical stuff that HORIZONS does is the easy part, turning that into mean elements is Interesting
<egg|work|egg>
(but there are things that work)
<egg|work|egg>
what are you trying to do to start with
<roysmeding>
well, the end goal is to predict the tides for arbitrary places based on models that people have generated
<egg|work|egg>
topography sounds like it's going to be a lot trickier than the moon here
<UmbralRaptop>
Won't that also require rheology models?
<egg|work|egg>
rheology of cats
<roysmeding>
well, that's already accounted for in the model
<UmbralRaptop>
Cats need an eggsessive number of spherical harmonics
* UmbralRaptop
chirps at mofh
<egg|work|egg>
anyway, "just work with data pulled from HORIZONS" only works if you can live with the instantaneous state of the system
<roysmeding>
the model just consists of complex coefficients for the various frequency components of the tides for each lon/lat
<egg|work|egg>
otherwise, you're doing the integration, and at that point you're just redoing what HORIZONS does
<egg|work|egg>
which is pretty easy at the level of precision that you care about mind you
<egg|work|egg>
but a bit of a yak shave
<roysmeding>
yeah, i'm wondering at this point if it's not just easier to use their models instead of trying to make external data sync up with their models
<roysmeding>
this entire business is a bit weird anyway
<egg|work|egg>
osculating elements are pretty much maximally useless
<egg|work|egg>
they can be turned into mean elements, but you need a perturbation theory (which kind of defeats the point, you need to model the perturbations to the moon's orbit...)
<egg|work|egg>
or you can turn a time series of osculating elements into some kind of mean elements by numerical averaging
<egg|work|egg>
the numerical averaging needs to be clever, you should do it in equinoctial elements
<roysmeding>
i think i'm just going to try plotting the error between the osculating data and the numbers from the code tonight
<roysmeding>
since the code applies a bunch of corrections, i suspect the difference might just basically be a phase offset
<egg|work|egg>
which elements are you using?
<roysmeding>
in what sense?
<egg|work|egg>
of the osculating elements
<egg|work|egg>
some elements are better behaved than others
<egg|work|egg>
if you use the mean longitude, it's generally OK
<roysmeding>
the numbers i need are the longitude of ascending node, the longitude of periapsis, and the mean longitude
<roysmeding>
and then i need one parameter from the earth's orbit around the sun
<roysmeding>
(also mean longitude)
<egg|work|egg>
the mean longitude is OK, the others are going to be very yikes from osculating data
<egg|work|egg>
again, if you sample one revolution and do suitable averaging, you can get decent elements for them
<egg|work|egg>
but otherwise, it can get wild
<egg|work|egg>
see these imgur plots for an eggstreme eggsample
<egg|work|egg>
(TOPEX/Poseidon)
* UmbralRaptop
swears that that sounds like a warhead rather than a satellite
<roysmeding>
but yeah, so, in case it wasn't clear, basically tidal height in a given location is modeled as a sum of cosine waves of various frequencies
<roysmeding>
the arguments of the cosine waves are all defined as linear combinations (with integer coefficients) of these astronomical numbers
<egg|work|egg>
yeah
<roysmeding>
they're not quite fixed frequencies, because they decided to take perturbations into account
<egg|work|egg>
roysmeding: you really ought not use osculating elements as a substitute here; they will, in the best case, oscillate about the right value (but that oscillation matters little if you take the osculating elements at a single point in time)
<egg|work|egg>
oscillate on timescales of a month in your case
<egg|work|egg>
in the best case, because obviously they can just as well oscillate far away from the right value (see eccentricity in those plots)
<roysmeding>
yeah.
<roysmeding>
well, basically, what i'm wondering is
<roysmeding>
the code starts with very simple expressions for the mean orbit (those four numbers are written as linear functions of time)
<egg|work|egg>
yeah
<roysmeding>
and then applies corrections as further phase shifts and such
<egg|work|egg>
a precessing ellipse is a classic, but that's in mean elements
<egg|work|egg>
in osculating elements you have a precessing ellipse + wildly oscillatory nonsense
<roysmeding>
so that's basically what motivated me to look at osculating elements in the first place, to see whether i could sidestep all these hardcoded corrections
<egg|work|egg>
you *can* get a pretty good idea of what those linear functions are even without an analytic perturbation theory, but you need to sample the osculating elements along at least one revolution
<egg|work|egg>
what do the hardcoded corrections look like
<egg|work|egg>
what are their frequencies
<egg|work|egg>
if they're slow, then they definitely are not trying to get the osculating elements (otoh maybe you could numerically compute mean elements for the relevant time that would be better)
<roysmeding>
well so uh. there's a lot of steps they take, but basically, they define a separate scale factor and phase offset for each constituent
<roysmeding>
the biggest constituent is M2, defined here to have an argument of 2*<mean solar time> - 2*<mean longitude of the mean moon> + 2*<mean longitude of the mean sun>
<roysmeding>
then on top of that argument, the phase "correction" they apply (they call it a "nodal correction", FWIW, so presumably this is about nodal precession) is atan((-.03731*sin(n)+.00052*sin(2*n)) / (1. - .03731 * cos(n)+.00052*cos(2*n)))
<roysmeding>
with n being the longitude of the ascending node of the mean lunar orbit
<egg|work|egg>
The nodal precession part is already in > those four numbers are written as linear functions of time
<egg|work|egg>
Ω being a non-constant linear function of time is nodal precession
<roysmeding>
yeah, but that omega doesn't show up in the definition of the argument
<egg|work|egg>
> with n being the longitude of the ascending node of the mean lunar orbit
<egg|work|egg>
It's just that Ω is denoted n which is vile
<roysmeding>
yeah, that's what i mean, it shows up in the *correction*
<egg|work|egg>
yeah
<egg|work|egg>
but nodal precession itself is in the value of Ω, this is a term that does something with the orientation of the plane
<egg|work|egg>
I guess those magic numbers have something to do with the inclination of the lunar orbit, among other things
<roysmeding>
but yeah so basically what i was hoping originally was that i could grab the mean longitudes from the orbital data, and do away with the "corrections" that way
<egg|work|egg>
that doesn't look like a correction to the mean longitude
<egg|work|egg>
that's a correction to account for non-coplanarity of the orbits of the earth and moon
<egg|work|egg>
but the nice thing with magic constants is they're googlable
<egg|work|egg>
so maybe there's a way to figure out what's going on
<egg|work|egg>
or maybe not
<egg|work|egg>
these constants are too magical :-p
<roysmeding>
yeah, i'd tried that trick already
<egg|work|egg>
roysmeding: anyway, whatever this is, it has a period which is the period of Ω or Ω/2
<egg|work|egg>
that is *not* a short period
<egg|work|egg>
so that's not the short-period variation you would get from osculating elements; it's something which varies with the cycle of nodes (I forget whether that's the 8 or the 20 year one)
<_whitenotifier-5dfc>
[Principia] eggrobin pushed 12 commits to master [+6/-2/±31] https://git.io/fjFHp
<_whitenotifier-5dfc>
[Principia] eggrobin 8f08d42 - new matchers
<_whitenotifier-5dfc>
[Principia] eggrobin cc780ea - use the matchers
<_whitenotifier-5dfc>
[Principia] eggrobin 2ce91ad - fix the expectations
<_whitenotifier-5dfc>
[Principia] ... and 9 more commits.
* UmbralRaptor
caws at mofh
<UmbralRaptor>
fully degenerate electron gases have convenient integrals, apparently?
<UmbralRaptor>
It's weird overhearing new undergrads playing poker
<B787_300>
so is KSP2 using some devs who might have worked on KSP1 and left?
<UmbralRaptor>
¯\_(ツ)_/¯
<UmbralRaptor>
mofh: or not. Apparently I need to get Ω for 4b?
<mofh>
UmbralRaptor: egg: okay, finally sitting down and looking at this.
* mofh
grabs the problem sets
<UmbralRaptor>
yay
* egg
mewos at mofh
<mofh>
UmbralRaptor: there's a bunch of ways to do 4b, the most common would be kinetic theory of gases (p = Force/Area, use the average particle velocity for v, and assume homogeneity giving you the factor of 3 outfront). The other easy approach is using degrees of freedom, average energy & equipartition thm.
* UmbralRaptor
stares at Greiner because somehow we never went over the kinetic theory of gases >_<
<mofh>
*blink* *blink* uhh
<mofh>
hm, actually yeah I think Greiner would be your best ref there (I think Schroeder's Thermal Physics might cover it in enough detail actually, but if it doesn't, Greiner is 100% the text to use).
<UmbralRaptor>
Oh, Schroeder, not Schroedinger
UmbralRaptop has joined #kspacademia
UmbralRaptor has quit [Ping timeout: 202 seconds]
<egg>
!wpn mofh
* galois
gives mofh a mistake
<egg>
!wpn roysmeding
* galois
gives roysmeding a adjoint parabolic moment
<egg>
!wpn UmbralRaptop
* galois
gives UmbralRaptop a Hermitian pastry with a eoraptor attachment
<mlbaker>
!wpn
* galois
gives mlbaker a boosted astatine mongoose
<UmbralRaptop>
hrm. integrate over a velocity sphere, ish
<UmbralRaptop>
Also, getting food since I'm drifting towards "too hungry to think straight"
<egg>
UmbralRaptop: is coffee food
<UmbralRaptop>
caffeine is a vitamin, but there are very few calories