Closed rbooth200 closed 6 years ago
This PR is ready to go now.
ok, I've got 2 main queries before accepting this (sorry for the delay; there's a lot to catch up on and I'm on holiday this week :-) )
1) I was a bit concerned about introducing yet another particle data structure (EosParticleProxy), especially if it meant changing the interface of so many functions (such as the EOS functions). However, if I understand it correctly, you can still pass a Particle data structure to these functions which then constructs an EosParticleProxy instance on-the-fly (via EosParticleProxy(Particle
Hi David,
1) You are correct here, the object is constructed automatically. The compiler can probably do away with this entirely in some special cases too. Otherwise the reason for this is to make it obvious to people (i.e. me) who need to get the thermal properties at locations away from particles what properties they need.
2) This branch does not include the cooling that is needed for Masunaga-Inutsuka collapse test so I can't use it here, hence the shock test. I've done that bit in the next pull request, where it does agree.
I did also use a test which is similar to one in the PLUTO user guide, and the results seem to agree, so I am happy here.
ok, I was about to accept but I see there's now some conflicts (I guess with the gravity branch that was merged the other day). I'll accept once they're resolved and it passes Travis.
Ok, I've resolved the conflicts. Hopefully this will work now
Ok, the merge went fine, this is ready to go.
This pull request includes changes that refactor the meshless to work with an arbitrary equation of state.
I've tested this this will the EOS that includes H2 dissociation and H + He ionization from Stamatellos+ (2007), which makes up the 'EOS' part of the radws scheme. I've also included an extra shock test to check that this is working. Since there are no analytical solutions I just compare the SPH and meshless results. Given that we already test the EOS itself with the cloud collapse test, I think this should be satisfactory.