Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 7 additions & 7 deletions BIN.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
from amuse.community.mesa.interface import Mesa
except ImportError:
Mesa = None
from seculartriple_TPS.interface import SecularTriple
from amuse_seculartriple import Seculartriple


from stellarsystem_class import StellarSystem_Class
Expand Down Expand Up @@ -105,9 +105,9 @@ def main(primary_mass = 1.3|units.MSun, secondary_mass = 0.5|units.MSun,

stellar_code.parameters.metallicity = metallicity
if secular_code is None:
secular_code = SecularTriple()
# secular_code = SecularTriple(redirection='none')
# secular_code = SecularTriple(redirection='file', redirect_file='output_SecularTriple_BIN.txt')
secular_code = Seculartriple()
# secular_code = Seculartriple(redirection='none')
# secular_code = Seculartriple(redirection='file', redirect_file='output_SecularTriple_BIN.txt')
clean_up_secular_code = True


Expand Down Expand Up @@ -372,9 +372,9 @@ def parse_arguments():
# stellar_code = SeBa(redirection='file', redirect_file='output_SeBa_BIN.txt')
stellar_code.parameters.metallicity = args["metallicity"]

secular_code = SecularTriple()
# secular_code = SecularTriple(redirection='none')
# secular_code = SecularTriple(redirection='file', redirect_file='output_SecularTriple_BIN.txt')
secular_code = Seculartriple()
# secular_code = Seculartriple(redirection='none')
# secular_code = Seculartriple(redirection='file', redirect_file='output_SecularTriple_BIN.txt')

bin_class_object = StellarSystem_Class(stars, bins, correct_params, stellar_code, secular_code, args)
bin_class_object.secular_code.parameters.ignore_tertiary == True
Expand Down
4 changes: 2 additions & 2 deletions BPS.py
Original file line number Diff line number Diff line change
Expand Up @@ -89,9 +89,9 @@
#import TRES as TRES
import BIN as BIN
from amuse.community.seba.interface import SeBa
from seculartriple_TPS.interface import SecularTriple
from amuse_seculartriple import Seculartriple

secular_code = SecularTriple()
secular_code = Seculartriple()
import sys
import argparse
from amuse.units import units, constants
Expand Down
4 changes: 2 additions & 2 deletions TPS.py
Original file line number Diff line number Diff line change
Expand Up @@ -125,9 +125,9 @@

import TRES as TRES
from amuse.community.seba.interface import SeBa
from seculartriple_TPS.interface import SecularTriple
from amuse_seculartriple import Seculartriple

secular_code = SecularTriple()
secular_code = Seculartriple()
import sys
import argparse
from amuse.units import units, constants
Expand Down
14 changes: 7 additions & 7 deletions TRES.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
from amuse.community.mesa.interface import Mesa
except ImportError:
Mesa = None
from seculartriple_TPS.interface import SecularTriple
from amuse_seculartriple import Seculartriple


from stellarsystem_class import StellarSystem_Class
Expand Down Expand Up @@ -99,9 +99,9 @@ def main(inner_primary_mass = 1.3|units.MSun, inner_secondary_mass = 0.5|units.M

stellar_code.parameters.metallicity = metallicity
if secular_code is None:
secular_code = SecularTriple()
# secular_code = SecularTriple(redirection='none')
# secular_code = SecularTriple(redirection='file', redirect_file='output_SecularTriple_TRES.txt')
secular_code = Seculartriple()
# secular_code = Seculartriple(redirection='none')
# secular_code = Seculartriple(redirection='file', redirect_file='output_SecularTriple_TRES.txt')
clean_up_secular_code = True

args = make_dic_args(relative_inclination, tend, tinit, number, maximum_radius_change_factor,
Expand Down Expand Up @@ -401,9 +401,9 @@ def parse_arguments():
# stellar_code = SeBa(redirection='file', redirect_file='output_SeBa_TRES.txt')
stellar_code.parameters.metallicity = args["metallicity"]

# secular_code = SecularTriple()
secular_code = SecularTriple(redirection='none')
# secular_code = SecularTriple(redirection='file', redirect_file='output_SecularTriple_TRES.txt')
# secular_code = Seculartriple()
secular_code = Seculartriple(redirection='none')
# secular_code = Seculartriple(redirection='file', redirect_file='output_SecularTriple_TRES.txt')

triple_class_object = StellarSystem_Class(stars, bins, correct_params, stellar_code, secular_code, args)

Expand Down
2 changes: 1 addition & 1 deletion TRES_setup.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
from amuse.community.seba.interface import SeBa
from amuse.datamodel import Particles
from amuse.units import units
from seculartriple_TPS.interface import SecularTriple
from amuse_seculartriple import Seculartriple

from TRES_options import max_mass, absolute_min_mass, options_mesa, REPORT_USER_WARNINGS

Expand Down
70 changes: 70 additions & 0 deletions amuse_seculartriple/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
ifneq (,$(filter-out clean distclean, $(MAKECMDGOALS)))
include support/config.mk
endif


# Detecting dependencies
support/config.mk:
cd support && ./configure


# Building the code into a static library
##### Remove anything not needed #####

CFLAGS +=
LDFLAGS +=

OBJS = src/main_code.o src/ODE_system.o src/helper_routines.o src/tidal_friction_parameters.o src/cvode/cvode.o src/cvode/cvode_dense.o src/cvode/cvode_direct.o src/cvode/cvode_io.o src/cvode/cvode_diag.o src/cvode/cvode_spils.o src/cvode/cvode_spgmr.o src/cvode/cvode_spbcgs.o src/cvode/cvode_sptfqmr.o src/cvode/nvector_serial.o src/cvode/sundials_dense.o src/cvode/sundials_direct.o src/cvode/sundials_math.o src/cvode/sundials_nvector.o src/cvode/sundials_spgmr.o src/cvode/sundials_iterative.o src/cvode/sundials_spbcgs.o src/cvode/sundials_sptfqmr.o

# Building the workers
seculartriple_worker.h: interface.py
amusifier --type=h interface.py SeculartripleInterface -o $@

seculartriple_worker.cc: interface.py
amusifier --type=c interface.py SeculartripleInterface -o $@

seculartriple_worker.o: seculartriple_worker.cc
$(MPICXX) -Isrc -c -o $@ $(CFLAGS) $<

seculartriple_worker: seculartriple_worker.o $(OBJS)
$(MPICXX) -o $@ $(LDFLAGS) $^ $(LDLIBS)




# Which packages contain which workers?
amuse-seculartriple_contains: seculartriple_worker


# Building and installing packages
develop-%: %_contains
support/shared/uninstall.sh $*
python -m pip install -e packages/$*

install-%: %_contains
support/shared/uninstall.sh $*
python -m pip install packages/$*

package-%: %_contains
python3 -m pip install -vv --no-cache-dir --no-deps --no-build-isolation --prefix ${PREFIX} packages/$*

test-%:
cd packages/$* && pytest


# Cleaning up
.PHONY: clean
clean:
$(MAKE) -C src clean
rm -rf *.o *.mod *worker*

.PHONY: distclean
distclean: clean
rm -f support/config.mk support/config.log support/config.status
rm -rf support/autom4te.cache

.cc.o: $<
$(CXX) $(CXXFLAGS) -c -o $@ $<

.c.o: $<
$(CXX) $(CXXFLAGS) -c -o $@ $<
1 change: 1 addition & 0 deletions amuse_seculartriple/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
from amuse.community.seculartriple.interface import Seculartriple
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,13 @@
Adrian Hamers 2015
"""

from amuse.community import *
from amuse.community import legacy_function
from amuse.rfi.core import CodeInterface, LegacyFunctionSpecification
from amuse.support.interface import InCodeComponentImplementation
from amuse.units import units,constants
import sys

### units used internally in the ODE solver ###
unit_l = units.AU
unit_l = units.au
unit_m = units.MSun
unit_t = 1.0e6*units.yr
unit_h = unit_m*unit_l**2/unit_t ### angular momentum
Expand Down Expand Up @@ -41,7 +42,7 @@
CV_TOO_CLOSE=-27


class SecularTripleInterface(CodeInterface):
class SeculartripleInterface(CodeInterface):
include_headers = ['src/main_code.h','src/ODE_system.h']

def __init__(self, **options):
Expand Down Expand Up @@ -83,9 +84,9 @@ def evolve():
function.addParameter('moment_of_inertia_dot_star1', dtype='float64', direction=function.IN)
function.addParameter('moment_of_inertia_dot_star2', dtype='float64', direction=function.IN)
function.addParameter('moment_of_inertia_dot_star3', dtype='float64', direction=function.IN)
# function.addParameter('k_div_T_tides_star1', dtype='float64', direction=function.IN)
# function.addParameter('k_div_T_tides_star2', dtype='float64', direction=function.IN)
# function.addParameter('k_div_T_tides_star3', dtype='float64', direction=function.IN)
# function.addParameter('k_div_T_tides_star1', dtype='float64', direction=function.IN)
# function.addParameter('k_div_T_tides_star2', dtype='float64', direction=function.IN)
# function.addParameter('k_div_T_tides_star3', dtype='float64', direction=function.IN)
function.addParameter('a_in', dtype='float64', direction=function.IN)
function.addParameter('a_out', dtype='float64', direction=function.IN)
function.addParameter('e_in', dtype='float64', direction=function.IN)
Expand Down Expand Up @@ -892,10 +893,10 @@ def set_check_for_semisecular_regime_parameter():



class SecularTriple(InCodeComponentImplementation):
class Seculartriple(InCodeComponentImplementation):

def __init__(self, **options):
InCodeComponentImplementation.__init__(self, SecularTripleInterface(**options), **options)
InCodeComponentImplementation.__init__(self, SeculartripleInterface(**options), **options)
self.model_time = 0.0 | units.Myr
self.evolve_further_after_root_was_found = False ### in some cases, it is desirable to integrate until the given end time, despite the finding of a root
self.take_into_account_RLOF_after_no_longer_filling_Roche_lobe = True ### this may seem like a strange `feature', but exists for consistency with the stellar/binary evolution code
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
c c++ fortran java python cmake install download mpi openmp cuda opencl x11 opengl blas lapack gsl gmp mpfr fftw hdf5 netcdf4
45 changes: 45 additions & 0 deletions amuse_seculartriple/packages/amuse-seculartriple/pyproject.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
[project]
name = "amuse-seculartriple"
version = "2026.4.22"
# dynamic = ["version"]
requires-python = ">=3.7"
dependencies = [
"amuse-framework"
]

[build-system]
requires = ["hatchling", "versioningit"]
build-backend = "hatchling.build"

[tool.hatch.version]
source = "versioningit"

[tool.versioningit.next-version]
method = "smallest"

[tool.versioningit.format]
distance = "{next_version}.dev{distance}+{vcs}{rev}"
dirty = "{base_version}+d{build_date:%Y%m%d}"
distance-dirty = "{next_version}.dev{distance}+{vcs}{rev}.d{build_date:%Y%m%d}"

[tool.versioningit.vcs]
method = { module = "version_helper", value = "get_amuse_version", module-dir = "amuse_seculartriple/support/shared" }

[tool.hatch.build]
skip-excluded-dirs = true

[tool.hatch.build.targets.wheel]
include = ["amuse_seculartriple/**/*.py"]
exclude = [
"amuse_seculartriple/packages",
"amuse_seculartriple/support",
"amuse_seculartriple/src",
"amuse_seculartriple/tests"
]
artifacts = ["amuse_seculartriple/seculartriple_worker"]

[tool.pytest.ini_options]
pythonpath = ["amuse_seculartriple/tests/"]

testpaths = ["amuse_seculartriple/tests"]

File renamed without changes.
File renamed without changes.
Loading