@@ -57,32 +57,37 @@ struct PDESystem <: ModelingToolkit.AbstractMultivariateSystem
57
57
"""
58
58
connector_type:: Any
59
59
"""
60
+ systems: The internal systems. These are required to have unique names.
61
+ """
62
+ systems:: Vector
63
+ """
60
64
name: the name of the system
61
65
"""
62
66
name:: Symbol
63
67
@add_kwonly function PDESystem (eqs, bcs, domain, ivs, dvs,
64
- ps= SciMLBase. NullParameters ();
65
- defaults= Dict (),
66
- connector_type = nothing ,
67
- checks:: Bool = true ,
68
- name
69
- )
68
+ ps= SciMLBase. NullParameters ();
69
+ defaults= Dict (),
70
+ systems= [],
71
+ connector_type= nothing ,
72
+ checks:: Bool = true ,
73
+ name
74
+ )
70
75
if checks
71
- all_dimensionless ([dvs;ivs;ps]) || check_units (eqs)
76
+ all_dimensionless ([dvs; ivs; ps]) || check_units (eqs)
72
77
end
73
78
eqs = eqs isa Vector ? eqs : [eqs]
74
- new (eqs, bcs, domain, ivs, dvs, ps, defaults, connector_type, name)
79
+ new (eqs, bcs, domain, ivs, dvs, ps, defaults, connector_type, systems, name)
75
80
end
76
81
end
77
82
78
83
function Base. getproperty (x:: PDESystem , sym:: Symbol )
79
84
if sym == :indvars
80
85
return getfield (x, :ivs )
81
- Base. depwarn (" `sys.indvars` is deprecated, please use `get_ivs(sys)`" , :getproperty ,force= true )
86
+ Base. depwarn (" `sys.indvars` is deprecated, please use `get_ivs(sys)`" , :getproperty , force= true )
82
87
83
88
elseif sym == :depvars
84
89
return getfield (x, :dvs )
85
- Base. depwarn (" `sys.depvars` is deprecated, please use `get_dvs(sys)`" , :getproperty ,force= true )
90
+ Base. depwarn (" `sys.depvars` is deprecated, please use `get_dvs(sys)`" , :getproperty , force= true )
86
91
87
92
else
88
93
return getfield (x, sym)
91
96
92
97
Base. summary (prob:: PDESystem ) = string (nameof (typeof (prob)))
93
98
function Base. show (io:: IO , :: MIME"text/plain" , sys:: PDESystem )
94
- println (io,summary (sys))
95
- println (io," Equations: " , get_eqs (sys))
96
- println (io," Boundary Conditions: " , get_bcs (sys))
97
- println (io," Domain: " , get_domain (sys))
98
- println (io," Dependent Variables: " , get_dvs (sys))
99
- println (io," Independent Variables: " , get_ivs (sys))
100
- println (io," Parameters: " , get_ps (sys))
101
- print (io," Default Parameter Values" , get_defaults (sys))
99
+ println (io, summary (sys))
100
+ println (io, " Equations: " , get_eqs (sys))
101
+ println (io, " Boundary Conditions: " , get_bcs (sys))
102
+ println (io, " Domain: " , get_domain (sys))
103
+ println (io, " Dependent Variables: " , get_dvs (sys))
104
+ println (io, " Independent Variables: " , get_ivs (sys))
105
+ println (io, " Parameters: " , get_ps (sys))
106
+ print (io, " Default Parameter Values" , get_defaults (sys))
102
107
return nothing
103
108
end
0 commit comments