diff --git a/src/dd.jl b/src/dd.jl index 88634e9a..e18cf5c0 100644 --- a/src/dd.jl +++ b/src/dd.jl @@ -91996,11 +91996,28 @@ end calorimetry() = calorimetry{Float64}() +mutable struct build__tf__technology__material{T} <: IDSvectorStaticElement{T} + var"composition" :: T + var"name" :: String + _filled::Set{Symbol} + _frozen::Bool + _in_expression::Vector{Symbol} + _ref :: Union{Nothing,build__tf__technology__material} + _parent :: WeakRef +end + +function build__tf__technology__material{T}() where T + ids = build__tf__technology__material{T}(0.0, "", Set{Symbol}(), false, Symbol[], nothing, WeakRef(nothing)) + return ids +end + +build__tf__technology__material() = build__tf__technology__material{Float64}() + mutable struct build__tf__technology{T} <: IDS{T} var"JxB_strain" :: T var"fraction_steel" :: T var"fraction_void" :: T - var"material" :: String + var"material" :: IDSvector{build__tf__technology__material{T}} var"ratio_SC_to_copper" :: T var"temperature" :: T var"thermal_strain" :: T @@ -92012,7 +92029,8 @@ mutable struct build__tf__technology{T} <: IDS{T} end function build__tf__technology{T}() where T - ids = build__tf__technology{T}(0.0, 0.0, 0.0, "", 0.0, 0.0, 0.0, Set{Symbol}(), false, Symbol[], nothing, WeakRef(nothing)) + ids = build__tf__technology{T}(0.0, 0.0, 0.0, IDSvector{build__tf__technology__material{T}}(), 0.0, 0.0, 0.0, Set{Symbol}(), false, Symbol[], nothing, WeakRef(nothing)) + setfield!(ids.material, :_parent, WeakRef(ids)) return ids end @@ -92084,11 +92102,28 @@ end build__structure() = build__structure{Float64}() +mutable struct build__pf_active__technology__material{T} <: IDSvectorStaticElement{T} + var"composition" :: T + var"name" :: String + _filled::Set{Symbol} + _frozen::Bool + _in_expression::Vector{Symbol} + _ref :: Union{Nothing,build__pf_active__technology__material} + _parent :: WeakRef +end + +function build__pf_active__technology__material{T}() where T + ids = build__pf_active__technology__material{T}(0.0, "", Set{Symbol}(), false, Symbol[], nothing, WeakRef(nothing)) + return ids +end + +build__pf_active__technology__material() = build__pf_active__technology__material{Float64}() + mutable struct build__pf_active__technology{T} <: IDS{T} var"JxB_strain" :: T var"fraction_steel" :: T var"fraction_void" :: T - var"material" :: String + var"material" :: IDSvector{build__pf_active__technology__material{T}} var"ratio_SC_to_copper" :: T var"temperature" :: T var"thermal_strain" :: T @@ -92100,7 +92135,8 @@ mutable struct build__pf_active__technology{T} <: IDS{T} end function build__pf_active__technology{T}() where T - ids = build__pf_active__technology{T}(0.0, 0.0, 0.0, "", 0.0, 0.0, 0.0, Set{Symbol}(), false, Symbol[], nothing, WeakRef(nothing)) + ids = build__pf_active__technology{T}(0.0, 0.0, 0.0, IDSvector{build__pf_active__technology__material{T}}(), 0.0, 0.0, 0.0, Set{Symbol}(), false, Symbol[], nothing, WeakRef(nothing)) + setfield!(ids.material, :_parent, WeakRef(ids)) return ids end @@ -92163,11 +92199,28 @@ end build__pf_active() = build__pf_active{Float64}() +mutable struct build__oh__technology__material{T} <: IDSvectorStaticElement{T} + var"composition" :: T + var"name" :: String + _filled::Set{Symbol} + _frozen::Bool + _in_expression::Vector{Symbol} + _ref :: Union{Nothing,build__oh__technology__material} + _parent :: WeakRef +end + +function build__oh__technology__material{T}() where T + ids = build__oh__technology__material{T}(0.0, "", Set{Symbol}(), false, Symbol[], nothing, WeakRef(nothing)) + return ids +end + +build__oh__technology__material() = build__oh__technology__material{Float64}() + mutable struct build__oh__technology{T} <: IDS{T} var"JxB_strain" :: T var"fraction_steel" :: T var"fraction_void" :: T - var"material" :: String + var"material" :: IDSvector{build__oh__technology__material{T}} var"ratio_SC_to_copper" :: T var"temperature" :: T var"thermal_strain" :: T @@ -92179,7 +92232,8 @@ mutable struct build__oh__technology{T} <: IDS{T} end function build__oh__technology{T}() where T - ids = build__oh__technology{T}(0.0, 0.0, 0.0, "", 0.0, 0.0, 0.0, Set{Symbol}(), false, Symbol[], nothing, WeakRef(nothing)) + ids = build__oh__technology{T}(0.0, 0.0, 0.0, IDSvector{build__oh__technology__material{T}}(), 0.0, 0.0, 0.0, Set{Symbol}(), false, Symbol[], nothing, WeakRef(nothing)) + setfield!(ids.material, :_parent, WeakRef(ids)) return ids end @@ -92224,11 +92278,29 @@ end build__layer___outline() = build__layer___outline{Float64}() +mutable struct build__layer___material{T} <: IDSvectorStaticElement{T} + var"composition" :: T + var"name" :: String + _filled::Set{Symbol} + _frozen::Bool + _in_expression::Vector{Symbol} + _ref :: Union{Nothing,build__layer___material} + _parent :: WeakRef +end + +function build__layer___material{T}() where T + ids = build__layer___material{T}(0.0, "", Set{Symbol}(), false, Symbol[], nothing, WeakRef(nothing)) + return ids +end + +build__layer___material() = build__layer___material{Float64}() + mutable struct build__layer{T} <: IDSvectorStaticElement{T} var"area" :: T var"end_radius" :: T + var"fabrication" :: String var"identifier" :: Int64 - var"material" :: String + var"material" :: IDSvector{build__layer___material{T}} var"name" :: String var"outline" :: build__layer___outline{T} var"shape" :: Int64 @@ -92247,7 +92319,8 @@ mutable struct build__layer{T} <: IDSvectorStaticElement{T} end function build__layer{T}() where T - ids = build__layer{T}(0.0, 0.0, 0, "", "", build__layer___outline{T}(), 0, T[], 0, 0.0, 0.0, 0, 0.0, 0.0, Set{Symbol}(), false, Symbol[], nothing, WeakRef(nothing)) + ids = build__layer{T}(0.0, 0.0, "", 0, IDSvector{build__layer___material{T}}(), "", build__layer___outline{T}(), 0, T[], 0, 0.0, 0.0, 0, 0.0, 0.0, Set{Symbol}(), false, Symbol[], nothing, WeakRef(nothing)) + setfield!(ids.material, :_parent, WeakRef(ids)) setfield!(ids.outline, :_parent, WeakRef(ids)) return ids end @@ -93614,8 +93687,25 @@ end blanket__module___time_slice() = blanket__module___time_slice{Float64}() +mutable struct blanket__module___layer___material{T} <: IDSvectorStaticElement{T} + var"composition" :: T + var"name" :: String + _filled::Set{Symbol} + _frozen::Bool + _in_expression::Vector{Symbol} + _ref :: Union{Nothing,blanket__module___layer___material} + _parent :: WeakRef +end + +function blanket__module___layer___material{T}() where T + ids = blanket__module___layer___material{T}(0.0, "", Set{Symbol}(), false, Symbol[], nothing, WeakRef(nothing)) + return ids +end + +blanket__module___layer___material() = blanket__module___layer___material{Float64}() + mutable struct blanket__module___layer{T} <: IDSvectorStaticElement{T} - var"material" :: String + var"material" :: IDSvector{blanket__module___layer___material{T}} var"midplane_thickness" :: T var"name" :: String _filled::Set{Symbol} @@ -93626,7 +93716,8 @@ mutable struct blanket__module___layer{T} <: IDSvectorStaticElement{T} end function blanket__module___layer{T}() where T - ids = blanket__module___layer{T}("", 0.0, "", Set{Symbol}(), false, Symbol[], nothing, WeakRef(nothing)) + ids = blanket__module___layer{T}(IDSvector{blanket__module___layer___material{T}}(), 0.0, "", Set{Symbol}(), false, Symbol[], nothing, WeakRef(nothing)) + setfield!(ids.material, :_parent, WeakRef(ids)) return ids end @@ -95784,7 +95875,9 @@ const _all_info = Dict{String,Info}( "blanket" => Info{Tuple{}}((), "-", "STRUCTURE", "Fusion blanket", true), "blanket.module[:]" => Info{Tuple{String}}(("1...N",), "-", "STRUCT_ARRAY", "List of modules composing the blanket", true), "blanket.module[:].layer[:]" => Info{Tuple{String}}(("1...N",), "-", "STRUCT_ARRAY", "List of layers in the blanket module", true), -"blanket.module[:].layer[:].material" => Info{Tuple{}}((), "-", "STR_0D", "Material of the layer", true), +"blanket.module[:].layer[:].material[:]" => Info{Tuple{String}}(("1...N",), "-", "STRUCT_ARRAY", "List of materials that comprise the layer", true), +"blanket.module[:].layer[:].material[:].composition" => Info{Tuple{}}((), "-", "FLT_0D", "Fraction of layer comprised of the specified material", true), +"blanket.module[:].layer[:].material[:].name" => Info{Tuple{}}((), "-", "STR_0D", "Material name", true), "blanket.module[:].layer[:].midplane_thickness" => Info{Tuple{}}((), "m", "FLT_0D", "Thickness of layer evaluated at the midplane", true), "blanket.module[:].layer[:].name" => Info{Tuple{}}((), "-", "STR_0D", "Name of the blanket layer", true), "blanket.module[:].name" => Info{Tuple{}}((), "-", "STR_0D", "Name of the blanket module", true), @@ -96078,8 +96171,11 @@ const _all_info = Dict{String,Info}( "build.layer[:]" => Info{Tuple{String}}(("1...N",), "-", "STRUCT_ARRAY", "List of layers in the radial build", true), "build.layer[:].area" => Info{Tuple{}}((), "m^2", "FLT_0D", "Cross sectional area of the layer", true), "build.layer[:].end_radius" => Info{Tuple{}}((), "m", "FLT_0D", "End radius of the layer", true), +"build.layer[:].fabrication" => Info{Tuple{}}((), "-", "STR_0D", "Fabrication style of the layer", true), "build.layer[:].identifier" => Info{Tuple{}}((), "-", "INT_0D", "Integer to identify the same layer on the high-field-side and low-field-side", true), -"build.layer[:].material" => Info{Tuple{}}((), "-", "STR_0D", "Material of the layer", true), +"build.layer[:].material[:]" => Info{Tuple{String}}(("1...N",), "-", "STRUCT_ARRAY", "List of materials that comprise the layer", true), +"build.layer[:].material[:].composition" => Info{Tuple{}}((), "-", "FLT_0D", "Fraction of layer comprised of the specified material", true), +"build.layer[:].material[:].name" => Info{Tuple{}}((), "-", "STR_0D", "Material name", true), "build.layer[:].name" => Info{Tuple{}}((), "-", "STR_0D", "Name of the layer", true), "build.layer[:].outline" => Info{Tuple{}}((), "-", "STRUCTURE", "Irregular outline of the limiting surface. Do NOT repeat the first point for closed contours", true), "build.layer[:].outline.r" => Info{Tuple{String}}(("1...N",), "m", "FLT_1D", "Major radius", true), @@ -96102,7 +96198,9 @@ const _all_info = Dict{String,Info}( "build.oh.technology.JxB_strain" => Info{Tuple{}}((), "-", "FLT_0D", "Fraction of maximum JxB strain over maximum total strain on the OH coils", true), "build.oh.technology.fraction_steel" => Info{Tuple{}}((), "-", "FLT_0D", "Fraction of stainless steel in the OH coils cross-sectional areas", true), "build.oh.technology.fraction_void" => Info{Tuple{}}((), "-", "FLT_0D", "Fraction of `void` in the OH coils cross-sectional area. Void is everything (like coolant) that is not structural nor conductor", true), -"build.oh.technology.material" => Info{Tuple{}}((), "-", "STR_0D", "Material of the OH coils", true), +"build.oh.technology.material[:]" => Info{Tuple{String}}(("1...N",), "-", "STRUCT_ARRAY", "List of materials that comprise the OH", true), +"build.oh.technology.material[:].composition" => Info{Tuple{}}((), "-", "FLT_0D", "Fraction of OH comprised of the specified material", true), +"build.oh.technology.material[:].name" => Info{Tuple{}}((), "-", "STR_0D", "Material name", true), "build.oh.technology.ratio_SC_to_copper" => Info{Tuple{}}((), "-", "FLT_0D", "Fraction of superconductor to copper cross-sectional areas in OH coils", true), "build.oh.technology.temperature" => Info{Tuple{}}((), "K", "FLT_0D", "OH coils temperature", true), "build.oh.technology.thermal_strain" => Info{Tuple{}}((), "-", "FLT_0D", "Fraction of thermal expansion strain over maximum total strain on the OH coils", true), @@ -96119,7 +96217,9 @@ const _all_info = Dict{String,Info}( "build.pf_active.technology.JxB_strain" => Info{Tuple{}}((), "-", "FLT_0D", "Fraction of maximum JxB strain over maximum total strain on the PF coils", true), "build.pf_active.technology.fraction_steel" => Info{Tuple{}}((), "-", "FLT_0D", "Fraction of stainless steel in the PF coils cross-sectional areas", true), "build.pf_active.technology.fraction_void" => Info{Tuple{}}((), "-", "FLT_0D", "Fraction of `void` in the PF coils cross-sectional area. Void is everything (like coolant) that is not structural nor conductor", true), -"build.pf_active.technology.material" => Info{Tuple{}}((), "-", "STR_0D", "Material of the PF coils", true), +"build.pf_active.technology.material[:]" => Info{Tuple{String}}(("1...N",), "-", "STRUCT_ARRAY", "List of materials that comprise the PF", true), +"build.pf_active.technology.material[:].composition" => Info{Tuple{}}((), "-", "FLT_0D", "Fraction of PF comprised of the specified material", true), +"build.pf_active.technology.material[:].name" => Info{Tuple{}}((), "-", "STR_0D", "Material name", true), "build.pf_active.technology.ratio_SC_to_copper" => Info{Tuple{}}((), "-", "FLT_0D", "Fraction of superconductor to copper cross-sectional areas in the PF coils", true), "build.pf_active.technology.temperature" => Info{Tuple{}}((), "K", "FLT_0D", "PF coils temperature", true), "build.pf_active.technology.thermal_strain" => Info{Tuple{}}((), "-", "FLT_0D", "Fraction of thermal expansion strain over maximum total strain on the PF coils", true), @@ -96146,7 +96246,9 @@ const _all_info = Dict{String,Info}( "build.tf.technology.JxB_strain" => Info{Tuple{}}((), "-", "FLT_0D", "Fraction of maximum JxB strain over maximum total strain on the TF coils", true), "build.tf.technology.fraction_steel" => Info{Tuple{}}((), "-", "FLT_0D", "Fraction of stainless steel in the TF coils cross-sectional areas", true), "build.tf.technology.fraction_void" => Info{Tuple{}}((), "-", "FLT_0D", "Fraction of `void` in the TF coils cross-sectional area. Void is everything (like coolant) that is not structural nor conductor", true), -"build.tf.technology.material" => Info{Tuple{}}((), "-", "STR_0D", "Material of the TF coils", true), +"build.tf.technology.material[:]" => Info{Tuple{String}}(("1...N",), "-", "STRUCT_ARRAY", "List of materials that comprise the TF", true), +"build.tf.technology.material[:].composition" => Info{Tuple{}}((), "-", "FLT_0D", "Fraction of TF comprised of the specified material", true), +"build.tf.technology.material[:].name" => Info{Tuple{}}((), "-", "STR_0D", "Material name", true), "build.tf.technology.ratio_SC_to_copper" => Info{Tuple{}}((), "-", "FLT_0D", "Fraction of superconductor to copper cross-sectional areas in the TF coils", true), "build.tf.technology.temperature" => Info{Tuple{}}((), "K", "FLT_0D", "TF coils temperature", true), "build.tf.technology.thermal_strain" => Info{Tuple{}}((), "-", "FLT_0D", "Fraction of thermal expansion strain over maximum total strain on the TF coils", true),