Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
b94e0b7
Initial import Metisse interface
rieder Feb 13, 2025
aee7cc5
remove file
rieder Feb 13, 2025
a74c50d
update interface
rieder Feb 13, 2025
b87f8b0
Stub interface
rieder Feb 13, 2025
112cce7
standard imports
rieder Feb 13, 2025
b69bd94
update interface with particle set
rieder Feb 13, 2025
ad1aaff
Updates to Metisse interface
rieder Feb 14, 2025
9c7de5a
Interface updates
rieder Feb 17, 2025
2256960
add getters/setters
rieder Feb 17, 2025
e70640d
small updates
rieder Feb 17, 2025
212d9bd
update literature
rieder Feb 17, 2025
1abca6c
Updates
rieder Feb 17, 2025
186fd73
add parameter setters/getters
rieder Feb 19, 2025
8363f30
cleanup and fixes to resize
rieder Feb 26, 2025
4549b19
interface updates
rieder Feb 26, 2025
c0042f6
Prevent hanging when t_end > t_nuc
rieder Mar 4, 2025
8d75358
remove python particleset
rieder Mar 4, 2025
279e79d
add units used, start with a small timestep
rieder Mar 4, 2025
100d32a
Merge remote-tracking branch 'lourens/issue-1024-new-build-system' in…
rieder Apr 8, 2025
a57a35f
fix allocation bug
rieder Apr 8, 2025
3fab0cc
Fix Ubuntu MPI hang
LourensVeen Jun 3, 2025
a4cbc1a
Merge commit '450d20c0b542be53ff6fdf82bb6c2cce1c80c7bf' into add/metisse
rieder Jun 18, 2025
d3f86bf
Add ext tests
LourensVeen Jun 10, 2025
a438d18
move files to new structure
rieder Jun 19, 2025
359245b
update to new dir structure (2)
rieder Jun 19, 2025
542abff
move to new dir structure (3)
rieder Jun 19, 2025
fd6bfde
small updates for newer METISSE
rieder Jun 23, 2025
0e8f6c6
updates for memory management
rieder Jun 23, 2025
9f1f9da
add test script for metisse
rieder Jun 23, 2025
79e2bed
Add code tests
LourensVeen Jun 21, 2025
0293c2e
updated way of setting the metallicity/track dirs
rieder Jun 24, 2025
12c746a
Set correct unit for evolving!
rieder Jul 1, 2025
1261d47
remove debug print
rieder Jul 1, 2025
170c709
ignore data files
rieder Jul 1, 2025
d4b48dc
Merge commit '79e2bed8d8930ab68b09d8df9bdd7e42e0820a92' into add/metisse
rieder Jul 10, 2025
cb36a3c
Merge remote-tracking branch 'upstream/main' into add/metisse
rieder Jul 14, 2025
bf27508
remove duplicates
rieder Jul 14, 2025
a57acfe
update test
rieder Jul 14, 2025
20f2c5f
add plotting script
rieder Jul 14, 2025
cf3d4a0
Merge remote-tracking branch 'upstream/main' into add/metisse
rieder Apr 14, 2026
2ecb5e7
remove workflows from another branch
rieder Apr 14, 2026
64e868a
undo another external commit
rieder Apr 14, 2026
bacb301
another external change
rieder Apr 14, 2026
e04527c
that's all of them, I think
rieder Apr 14, 2026
725e811
final 2
rieder Apr 14, 2026
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
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -455,3 +455,5 @@ packages/dist

# standard directory for a virtualenv
env/
src/amuse_metisse/data
src/amuse_metisse/src/METISSE
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
fortran python cmake install download
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
[project]
name = "amuse-metisse"
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.hatch.build]
skip-excluded-dirs = true

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

[tool.hatch.build.targets.wheel.sources]
"metisse" = "amuse/community/metisse"

[tool.pytest.ini_options]
pythonpath = ["metisse/tests/", "../../../../../tests"]

testpaths = ["metisse/tests"]

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


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


# Downloading the code
##### Remove if not needed #####
VERSION = 121257ede5486660d9eb5fbb23b2c377f02ae465

metisse.tar.gz:
##### Modify URL as needed #####
$(DOWNLOAD) https://github.com/TeamMETISSE/METISSE/archive/$(VERSION).tar.gz >$@

PATCHES := $(file < patches/series)
PATCHES := $(patsubst %,%,$(PATCHES)) # replace newlines with spaces

src/metisse-$(VERSION): metisse.tar.gz
##### Modify as needed #####
tar xf $<
mv metisse-$(VERSION) src
##### Apply patches here, if needed #####
#patch <patch.patch
#for p in $(PATCHES) ; do patch -p1 <patches/$$p ; done


# Building the code into a static library
DEPFLAGS += $(STOPCOND_CFLAGS) $(STOPCONDMPI_CFLAGS) $(AMUSE_MPI_CFLAGS)
DEPFLAGS += $(FORSOCKETS_CFLAGS) $(SIMPLE_HASH_CFLAGS) $(G6LIB_CFLAGS)
DEPFLAGS += $(OPENMP_FFLAGS)
FCFLAGS += $(DEPFLAGS) -ffpe-summary=all -fbacktrace -fcheck=all -g -Wall

LDLIBS += -lm $(STOPCOND_LIBS) $(STOPCONDMPI_LIBS) $(AMUSE_MPI_LIBS)
LDLIBS += $(FORSOCKETS_LIBS)

CODELIB := libmetisse.a

##### Modify build command as needed #####
.PHONY: src/METISSE/$(CODELIB)
src/METISSE/$(CODELIB): | src/METISSE/make
$(MAKE) -C src/METISSE/make libmetisse


# Building the workers
metisse_worker.f90: interface.py
amusifier --type=f90 interface.py MetisseInterface -o $@

storage.o: storage.f90
$(MPIFC) -c -o $@ $(FCFLAGS) $<

metisse_worker.o: metisse_worker.f90 storage.o
$(MPIFC) -c -o $@ $(FCFLAGS) $<

metisse_worker: interface.o metisse_worker.o storage.o src/METISSE/$(CODELIB)
$(MPIFC) -o $@ $(LDFLAGS) $^ $(LDLIBS)

%.o: %.f90
$(MPIFC) -c -o $@ $(FCFLAGS) -Isrc/METISSE/make $<


# Which packages contain which workers?
amuse-metisse_contains: metisse_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

13 changes: 13 additions & 0 deletions src/amuse_metisse/README
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@

To update/replace the current version of SSE, just unpack a new
tarball in the sse directory. The MUSE module uses the SSE
distribution unchanged, and relies only on the calling sequences to
zcnsts(), evolv1(), star(), and deltat().

Scientific papers written using this module should reference the paper

"Comprehensive analytic formulae for stellar evolution as a function
of mass and metallicity"
Hurley J.R., Pols O.R., Tout C.A., 2000, MNRAS, 315, 543

(See sse/README_SSE for more details.)
5 changes: 5 additions & 0 deletions src/amuse_metisse/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
"""
Interface for METISSE
"""
from .interface import MetisseInterface
from .interface import Metisse
Loading
Loading