1
1
module ModelingToolkitUnitfulExt
2
2
3
- using ModelingToolkit
3
+ using ModelingToolkit, Symbolics, SciMLBase, Unitful, RecursiveArrayTools
4
+ using ModelingToolkit: ValidationError, Connection, instream, JumpType, VariableUnit,
5
+ get_systems, Conditional, Comparison, Integral, Differential
6
+ using JumpProcesses: MassActionJump, ConstantRateJump, VariableRateJump
7
+ using Symbolics: Symbolic, value, issym, isadd, ismul, ispow, iscall, operation, arguments, getmetadata
8
+
4
9
using Unitful
5
- using Symbolics: Symbolic, value
6
10
using SciMLBase
7
11
8
12
# Import necessary types and functions from ModelingToolkit
@@ -76,21 +80,6 @@ const t_unitful = let
76
80
end
77
81
const D_unitful = MT. Differential (t_unitful)
78
82
79
- # Extension loaded - all Unitful-specific functionality is now available
80
-
81
- end # module
82
-
83
- # Create the UnitfulUnitCheck module inside ModelingToolkit for backward compatibility
84
- @eval ModelingToolkit module UnitfulUnitCheck
85
-
86
- using ModelingToolkit, Symbolics, SciMLBase, Unitful, RecursiveArrayTools
87
- using ModelingToolkit: ValidationError, Connection, instream, JumpType, VariableUnit,
88
- get_systems, Conditional, Comparison, Integral, Differential
89
- using JumpProcesses: MassActionJump, ConstantRateJump, VariableRateJump
90
- using Symbolics: Symbolic, value, issym, isadd, ismul, ispow, iscall, operation, arguments, getmetadata
91
-
92
- const MT = ModelingToolkit
93
-
94
83
Base.:* (x:: Union{MT.Num, Symbolic} , y:: Unitful.AbstractQuantity ) = x * y
95
84
Base.:/ (x:: Union{MT.Num, Symbolic} , y:: Unitful.AbstractQuantity ) = x / y
96
85
@@ -211,7 +200,4 @@ function get_unit(x::Symbolic)
211
200
end
212
201
end
213
202
214
- # Re-use validation functions from main package
215
- using ModelingToolkit: safe_get_unit, _validate, validate
216
-
217
- end # module UnitfulUnitCheck
203
+ end # module UnitfulUnitCheck
0 commit comments