Skip to content

Commit 7dc36f8

Browse files
committed
Remove hideResult variables from signal table names
1 parent ff89d08 commit 7dc36f8

File tree

3 files changed

+10
-7
lines changed

3 files changed

+10
-7
lines changed

src/CodeGeneration.jl

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -321,9 +321,10 @@ mutable struct SimulationModel{FloatType,TimeType}
321321

322322
timeName::String
323323
w_invariant_names::Vector{String}
324+
hideResult_names::Vector{String} # Names of hidden variables
324325
vEliminated::Vector{Int}
325326
vProperty::Vector{Int}
326-
var_name::Function
327+
var_name::Function
327328
result::Union{Result,Missing} # Result data structure upto current time instant
328329

329330
parameters::OrderedDict{Symbol,Any} # Parameters as provided to SimulationModel constructor
@@ -354,7 +355,7 @@ mutable struct SimulationModel{FloatType,TimeType}
354355

355356
function SimulationModel{FloatType,TimeType}(modelModule, modelName, buildDict, getDerivatives!, equationInfo,
356357
previousVars, preVars, holdVars,
357-
parameterDefinition, timeName, w_invariant_names;
358+
parameterDefinition, timeName, w_invariant_names, hideResult_names;
358359
unitless::Bool=true,
359360
nz::Int = 0,
360361
nAfter::Int = 0,
@@ -416,7 +417,7 @@ mutable struct SimulationModel{FloatType,TimeType}
416417
hold, hold_names, hold_dict,
417418
isInitial, solve_leq, true, storeResult, convert(TimeType, 0), nGetDerivatives, nf,
418419
odeIntegrator, daeCopyInfo, algorithmName, sundials, addEventPointsDueToDEBug, success, unitless,
419-
string(timeName), w_invariant_names, vEliminated, vProperty, var_name, result,
420+
string(timeName), w_invariant_names, hideResult_names, vEliminated, vProperty, var_name, result,
420421
parameters, equationInfo)
421422
end
422423

@@ -486,7 +487,9 @@ timeType(m::SimulationModel{FloatType,TimeType}) where {FloatType,TimeType} = Ti
486487

487488
# The following rule is important that simulation is efficient.
488489
# See, https://github.com/SciML/DiffEqBase.jl/issues/791
489-
DiffEqBase.anyeltypedual(::SimulationModel) = Any
490+
if Base.isdefined(DiffEqBase, :anyeltypedual)
491+
DiffEqBase.anyeltypedual(::SimulationModel) = Any
492+
end
490493

491494
positive(m::SimulationModel, args...; kwargs...) = Modia.positive!(m.eventHandler, args...; kwargs...)
492495
negative(m::SimulationModel, args...; kwargs...) = Modia.negative!(m.eventHandler, args...; kwargs...)

src/ModiaLang.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -764,9 +764,9 @@ function stateSelectionAndCodeGeneration(modStructure, Gexplicit, name, modelMod
764764
# @show mappedParameters
765765

766766
# println("Build SimulationModel")
767-
767+
hideResult_names = [string(h) for h in hideResults]
768768
model = @timeit to "build SimulationModel" SimulationModel{FloatType,TimeType}(modelModule, name, buildDict, getDerivatives, equationInfo, previousVars, preVars, holdVars,
769-
mappedParameters, timeName, w_invariant_names;
769+
mappedParameters, timeName, w_invariant_names, hideResult_names;
770770
vSolvedWithInitValuesAndUnit, vEliminated, vProperty,
771771
var_name = (v)->string(unknownsWithEliminated[v]),
772772
nz=nCrossingFunctions, nAfter=nAfter, unitless=unitless)

src/SignalTablesInterface.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ function SignalTables.signalNames(m::SimulationModel; var=true, par=true)::Vecto
6666
if var && !par
6767
return names1
6868
end
69-
names2 = getParameterNames(m.evaluatedParameters)
69+
names2 = setdiff(getParameterNames(m.evaluatedParameters), m.hideResult_names) # parameters without hideResult_names
7070
if var && par
7171
return union(names1,names2)
7272
elseif par

0 commit comments

Comments
 (0)