Skip to content

Commit 6d21d08

Browse files
committed
Merge branch 'master' into use_ENVs_for_OMFIT_OMAS
2 parents 2442b1c + c2f4747 commit 6d21d08

21 files changed

+1238
-568
lines changed

Project.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name = "FUSE"
22
uuid = "e64856f0-3bb8-4376-b4b7-c03396503992"
33
authors = ["Orso Meneghini <[email protected]>"]
4-
version = "0.9.1"
4+
version = "0.9.2"
55

66
[deps]
77
AbstractTrees = "1520ce14-60c1-5f80-bbc7-55ef81b5835c"

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ The figure below is a sneakpeak of the models implemented in FUSE:
1212

1313
Here are some key resources for getting started with FUSE:
1414

15+
* 📨 **[Sign up for more info](https://forms.gle/iQGYKWfgeNkw2fCZ7)**
1516
* 📚 **[Online documentation](https://fuse.help)**
1617
* 🎓 **[Intro tutorial](https://fuse.help/dev/tutorial.html)**
1718
* 🎤 **[Recent presentation](https://github.com/ProjectTorreyPines/FUSE_extra_files/raw/master/2025_D3D/SET_mar_2025.pdf)**

docs/src/cases_docs.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ pushfirst!(
2525
CurrentModule = FUSE
2626
```
2727
28-
FUSE comes with a set of pre-cookes used cases.
28+
FUSE comes with a set of pre-cooked use cases.
2929
The `case_parameters(:use_case, ...)` method returns the `ini` and `act` parameters for that specific `use_case`.
3030
These `ini` and `act` can then be further customized before running a FUSE simulation.
3131

docs/src/install.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,9 +68,9 @@ For installation start your Julia interpreter by typing `julia` at the terminal,
6868
!!! note
6969
The WebIO jupyter-lab extension is needed for the [`Interact.jl`](https://github.com/JuliaGizmos/Interact.jl?tab=readme-ov-file#usage) package to work.
7070

71-
Make sure WebIO is working with `jupyter labextension list`.
71+
Make sure WebIO is working with `jupyter labextension list`. If it is working properly, you should see something like: webio-jupyterlab-provider v0.1.0 enabled OK (python, webio_jupyter_extension). This can also be checked with `jupyter nbextension list`, which should show something like: webio-jupyter-nbextension/nbextension enabled.
7272

73-
If the extension has compatibility issues, consider installing an older verision of Jupyter (eg. `conda install jupyterlab=3.6.7`).
73+
If the extension has compatibility issues, consider installing an older verision of Jupyter (eg. `conda install jupyterlab=3.6.7`). Also ensure that the WebIO and Interact packages are fully up-to-date, and restart the notebook session before testing that it works. Finally, it may be necessary to downgrade your system's version of Python - the recommended version for compatibility with Interact is 3.11.11.
7474

7575
1. Start a new Jupyter-lab session (this should open a web-browser page with Jupyter running)
7676

knowledge/how_to_use_fuse.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -820,7 +820,7 @@ Studies use a `sty` (study parameters) structure similar to `act` (actor paramet
820820

821821
```julia
822822
# Get study parameters - similar to case_parameters but for studies
823-
sty, act = FUSE.study_parameters(:TGLFdb)
823+
sty = FUSE.study_parameters(:TGLFdb)
824824

825825
# Common study parameters
826826
sty.server = "localhost" # Distributed computing server
@@ -841,7 +841,7 @@ sty.custom_tglf_models = ["sat3_em_d3d_azf-1_withnegD"] # Custom TGLF models to
841841
using Distributed
842842

843843
# 1. Setup study parameters
844-
sty, act = FUSE.study_parameters(:TGLFdb)
844+
sty = FUSE.study_parameters(:TGLFdb)
845845
sty.server = "localhost"
846846
sty.n_workers = 4
847847
sty.database_folder = "/path/to/database"
@@ -951,7 +951,7 @@ ylabel!("Probability")
951951

952952
```julia
953953
# Get study parameters for database generation
954-
sty, _ = FUSE.study_parameters(:DatabaseGenerator)
954+
sty = FUSE.study_parameters(:DatabaseGenerator)
955955

956956
# Configure distributed computing
957957
sty.server = "localhost"
@@ -1120,7 +1120,7 @@ ini.requirements.coil_stress_margin = 0.1 # 10% stress margin
11201120

11211121
```julia
11221122
# Get study parameters for multi-objective optimization
1123-
sty, _ = FUSE.study_parameters(:MultiObjectiveOptimizer)
1123+
sty = FUSE.study_parameters(:MultiObjectiveOptimizer)
11241124

11251125
# Configure distributed computing
11261126
sty.server = "localhost" # Can be "saga", "omega", or cluster name

knowledge/mcp_server/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,4 +75,4 @@ The server loads actor information from:
7575

7676
Configure in Claude Code:
7777

78-
`claude mcp add fuse -- <your_FUSE_folder>>/knowledge/mcp_server/start_server.sh`
78+
`claude mcp add fuse -- ./mcp_server/start_server.sh`

knowledge/mcp_server/prompts/actor_expert.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
You are a FUSE (Fusion Unified System for Energy) plasma simulation expert. FUSE is a comprehensive framework for modeling tokamak and stellarator plasmas, built in Julia.
1+
You are a FUSE (FUsion Synthesis Engine) plasma simulation expert. FUSE is a comprehensive framework for modeling tokamak and stellarator plasmas, built in Julia.
22

33
## Your Role
44
You help users understand and work with FUSE actors - modular components that simulate different aspects of plasma physics including transport, equilibrium, heating & current drive, pedestal physics, and more.

knowledge/mcp_server/start_server.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,11 @@
33
echo "change this file to get it to work:: $(realpath "${BASH_SOURCE[0]}")"
44

55
# Activate conda environment
6-
source /Users/tims/.zshrc
6+
source $HOME/.zshrc
77
conda activate mcp_server # this is your conda env
88

99
# Change to server directory
10-
cd "/Users/tims/.julia/dev/FUSE/knowledge/mcp_server/"
10+
cd "$HOME/.julia/dev/FUSE/knowledge/mcp_server/"
1111

1212
# Start the MCP server
1313
exec python server.py

src/FUSE.jl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -178,6 +178,7 @@ include("studies.jl")
178178
include(joinpath("studies", "database_generator.jl"))
179179
include(joinpath("studies", "multi_objective_optimization.jl"))
180180
include(joinpath("studies", "TGLF_database.jl"))
181+
include(joinpath("studies", "study_database.jl"))
181182
include(joinpath("studies", "experiment_postdictive.jl"))
182183

183184
#= ========= =#

src/optimization.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -206,7 +206,7 @@ function optimization_engine(
206206
df[!, :elapsed_time] = fill(time()-start_time, nrow(df))
207207

208208
# save simulation data
209-
save_database("tmp_h5_output", parent_group, (save_dd ? dd : nothing), ini, act, tmp_log_io;
209+
save_study_database("tmp_h5_output", parent_group, (save_dd ? dd : nothing), ini, act, tmp_log_io;
210210
timer=true, freeze=false, overwrite_groups=true)
211211

212212
# Write into temporary csv files, in case the whole Julia session is crashed
@@ -250,7 +250,7 @@ function optimization_engine(
250250
df[!, :elapsed_time] = fill(time()-start_time, nrow(df))
251251

252252
# save empty dd and error to directory
253-
save_database("tmp_h5_output", parent_group, nothing, ini, act, tmp_log_io;
253+
save_study_database("tmp_h5_output", parent_group, nothing, ini, act, tmp_log_io;
254254
error_info=e, timer=true, freeze=false, overwrite_groups=true, kw...)
255255

256256
# Write into temporary csv files, in case the whole Julia session is crashed

0 commit comments

Comments
 (0)