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

EU-DEMO 2024 #3129

Draft
wants to merge 27 commits into
base: develop
Choose a base branch
from
Draft
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
8 changes: 7 additions & 1 deletion bluemira/base/reactor.py
Original file line number Diff line number Diff line change
Expand Up @@ -183,11 +183,13 @@ def _plot_dims(
comp: ComponentT,
dims_to_show: tuple[str, ...],
component_filter: Callable[[ComponentT], bool] | None,
*,
show: bool = True,
):
for i, dim in enumerate(dims_to_show):
ComponentPlotter(view=dim).plot_2d(
self._filter_tree(comp, dims_to_show, component_filter),
show=i == len(dims_to_show) - 1,
show=i == len(dims_to_show) - 1 if show else False,
)


Expand Down Expand Up @@ -629,6 +631,7 @@ def plot(
*dims: str,
with_components: list[ComponentManager] | None = None,
component_filter: Callable[[ComponentT], bool] | None = FilterMaterial(),
show: bool = True,
):
"""
Plot the reactor.
Expand All @@ -644,9 +647,12 @@ def plot(
component_filter:
A callable to filter Components from the Component tree,
returning True keeps the node False removes it
show:
Whether or not to immediately display the plot
"""
self._plot_dims(
self.component(with_components),
self._validate_plot_dims(*dims),
component_filter,
show=show,
)
14 changes: 9 additions & 5 deletions eudemo/config/build_config.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"params": "$path:params.json",
"Radial build": {
"run_mode": "run",
"run_mode": "read",
"read_dir": "$path_expand:./",
"run_dir": "$path_expand:./",
"plot": true
Expand Down Expand Up @@ -94,7 +94,7 @@
"run_mode": "run",
"file_path": "$path_expand:./FirstWallDesign.json",
"problem_settings": {
"n_koz_points": 100
"n_koz_points": 70
},
"optimisation_settings": {
"algorithm_name": "SLSQP",
Expand Down Expand Up @@ -126,7 +126,11 @@
"file_path": "$path_expand:./TFCoilDesign.json",
"plot": true,
"param_class": "TripleArc",
"variables_map": {},
"variables_map": {
"sl": { "value": 10.0, "lower_bound": 8.0, "upper_bound": 11.44 },
"f1": { "value": 4.0, "lower_bound": 4.0 },
"f2": { "value": 4.0, "lower_bound": 4.0 }
},
"problem_class": "bluemira.builders.tf_coils::RippleConstrainedLengthGOP",
"problem_settings": {
"ripple_selector": {
Expand Down Expand Up @@ -164,7 +168,7 @@
"optimisation_settings": {
"algorithm_name": "COBYLA",
"conditions": {
"max_eval": 5000,
"max_eval": 1000,
"ftol_rel": 1e-10
}
}
Expand All @@ -188,7 +192,7 @@
"optimisation_settings": {
"algorithm_name": "COBYLA",
"conditions": {
"max_eval": 50,
"max_eval": 100,
"ftol_rel": 1e-10
}
}
Expand Down
46 changes: 32 additions & 14 deletions eudemo/config/params.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"A": {
"value": 3.1,
"value": 2.7,
"unit": "dimensionless",
"source": "Input",
"long_name": "Plasma aspect ratio"
Expand All @@ -24,7 +24,7 @@
"long_name": "Peak field inside the TF coil winding pack"
},
"C_Ejima": {
"value": 0.3,
"value": 0.2,
"unit": "dimensionless",
"source": "Input (Ejima, et al., Volt-second analysis and consumption in Doublet III plasmas, Nuclear Fusion 22, 1313 (1982))",
"long_name": "Ejima constant"
Expand Down Expand Up @@ -365,19 +365,19 @@
"long_name": "Last closed surface plasma elongation"
},
"kappa_95": {
"value": 1.6,
"value": 1.747,
"unit": "dimensionless",
"source": "Input",
"long_name": "95th percentile plasma elongation"
},
"m_s_limit": {
"value": 0.1,
"value": 0.2,
"unit": "dimensionless",
"source": "Input",
"long_name": "Margin to vertical stability criterion"
},
"l_i": {
"value": 0.8,
"value": 0.78,
"unit": "dimensionless",
"source": "Input",
"long_name": "Normalised internal plasma inductance"
Expand All @@ -395,7 +395,7 @@
"long_name": "Plasma safety factor on axis"
},
"q_95": {
"value": 3.5,
"value": 3.6,
"unit": "dimensionless",
"source": "Input",
"long_name": "Plasma safety factor at the 95th percentile flux surface"
Expand Down Expand Up @@ -695,7 +695,7 @@
"long_name": "TF coil ground insulation thickness"
},
"tk_tf_insgap": {
"value": 0.1,
"value": 0.01,
"unit": "meter",
"source": "Input",
"long_name": "TF coil WP insertion gap",
Expand Down Expand Up @@ -768,7 +768,7 @@
"long_name": "Fraction of neutrons deposited in VV"
},
"v_burn": {
"value": 0.05,
"value": 2.949e-2,
"unit": "volt",
"source": "Input",
"long_name": "Loop voltage during burn"
Expand All @@ -784,7 +784,7 @@
"source": "Input"
},
"CS_bmax": {
"value": 13,
"value": 14,
"unit": "tesla",
"source": "Input",
"long_name": "Maximum peak field to use in CS modules"
Expand Down Expand Up @@ -844,7 +844,7 @@
"long_name": "Shafranov shift of plasma (geometric=>magnetic)"
},
"tk_cs_casing": {
"value": 0.02,
"value": 0.001,
"unit": "meter",
"source": "Input",
"long_name": "Thickness of the CS coil casing"
Expand All @@ -861,11 +861,29 @@
"source": "Input",
"long_name": "Normalised psi boundary to fit FW to"
},
"div_Ltarg": {
"value": 0.5,
"div_Ltarg_ib": {
"value": 0.62,
"unit": "meter",
"source": "Input",
"long_name": "Divertor target length"
"source": "Input - F. Maviglia value",
"long_name": "Divertor inboard target length"
},
"div_Ltarg_ob": {
"value": 0.62,
"unit": "meter",
"source": "Input - F. Maviglia value",
"long_name": "Divertor outboard target length"
},
"div_targ_angle_ib": {
"value": 42,
"unit": "degrees",
"source": "Input - F. Maviglia value",
"long_name": "Divertor inboard target ccw angle"
},
"div_targ_angle_ob": {
"value": -25,
"unit": "degrees",
"source": "Input - F. Maviglia value",
"long_name": "Divertor outboard target ccw angle"
},
"div_open": {
"value": false,
Expand Down
1 change: 1 addition & 0 deletions eudemo/eudemo/blanket/designer.py
Original file line number Diff line number Diff line change
Expand Up @@ -134,6 +134,7 @@ def _remove_gap_and_merge(
def run(self) -> tuple[BluemiraFace, BluemiraFace, Coordinates]:
"""Run the blanket design problem."""
segments = self.segment_blanket()
return segments.inboard, segments.outboard, None
# Inboard
ib_panels = self.panel_boundary(segments.inboard_boundary)
ib_panels_face = BluemiraFace(ib_panels)
Expand Down
Loading
Loading