Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add the option to integrate ptmass with 4th order scheme (FSI) #523

Merged
merged 63 commits into from
Apr 22, 2024

Conversation

Yrisch
Copy link
Contributor

@Yrisch Yrisch commented Apr 3, 2024

Type of PR:
New integration method

Description:
Add new 4th order integration schemes for point mass evolution. At this moment, The FSI and PEFRL are implemented.
Only the gravitational interactions are taken into account. The PEFRL is certainly not well suited for Phantom ( due to backward step). To extend the FSI to all other interactions, it is needed to compute the gradient term for each of them in the middle kick phase. cf : Chin (2007a) 10.1103/PhysRevE.75.036701

Testing:
To test these methods, I reused the galcen setup without gas injection. Then the system of point masses is integrated during a short period and a check on the energy and angular momentum conservation is performed. A little test with 2 point masses is also done to check if the evolution correspond to a keplerian motion.

Did you run the bots? no

Did you update relevant documentation in the docs directory? no

@@ -122,6 +122,13 @@ module dim
logical, parameter :: do_radiation = .false.
#endif

! Regularisation method and/or higher order integrator
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

see #55, this really should be a runtime parameter, not a compile-time parameter. Suggest to remove the #ifdef here...

build/Makefile Outdated
@@ -274,6 +274,10 @@ ifeq ($(RADIATION), yes)
FPPFLAGS += -DRADIATION
endif

ifeq ($(FOURTHORDER), yes)
FPPFLAGS += -DFOURTHORDER
endif
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same comment as below... no new ifdefs!

@@ -110,6 +111,27 @@ module ptmass
private

contains

!----------------------------------------------------------------
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I will open an issue on this, we should fix the kernel-generating python script to also produce this routine #523

@@ -1048,6 +1053,393 @@ subroutine step_extern_sph(dt,npart,xyzh,vxyzu)

end subroutine step_extern_sph

!----------------------------------------------------------------
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we should move all step_extern routines into a separate module (step_extern.f90 ?)

@Yrisch
Copy link
Contributor Author

Yrisch commented Apr 8, 2024

something wrong appends with the quintic kernel module... There is no new grad kernel

Yrisch and others added 28 commits April 15, 2024 18:25
…hi still needs to be low if an orbit is really eccentric
…e, also ability to run specific tests in ptmass testsuite
@danieljprice danieljprice merged commit 6d3726c into danieljprice:master Apr 22, 2024
180 checks passed
@danieljprice danieljprice deleted the 4thorder_scheme branch April 22, 2024 08:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants