From 4343c046ef0eb96766e4a2f24e4092f319d56047 Mon Sep 17 00:00:00 2001 From: dehann Date: Mon, 22 Aug 2022 21:56:02 -0700 Subject: [PATCH 1/2] better add solverData fields on parametric init --- src/ParametricUtils.jl | 12 +++++++++++- src/services/GraphInit.jl | 14 +++++++++----- 2 files changed, 20 insertions(+), 6 deletions(-) diff --git a/src/ParametricUtils.jl b/src/ParametricUtils.jl index a0286538c..36b98313a 100644 --- a/src/ParametricUtils.jl +++ b/src/ParametricUtils.jl @@ -696,8 +696,18 @@ end """ $SIGNATURES Initialize the parametric solver data from a different solution in `fromkey`. + +DevNotes +- TODO, keyword `force` not wired up yet. """ -function initParametricFrom!(fg::AbstractDFG, fromkey::Symbol = :default; parkey::Symbol = :parametric, onepoint=false) +function initParametricFrom!( + fg::AbstractDFG, + fromkey::Symbol = :default; + parkey::Symbol = :parametric, + onepoint=false, + force::Bool=false + ) + # if onepoint for v in getVariables(fg) fromvnd = getSolverData(v, fromkey) diff --git a/src/services/GraphInit.jl b/src/services/GraphInit.jl index 8ed3593fd..e0aa23145 100644 --- a/src/services/GraphInit.jl +++ b/src/services/GraphInit.jl @@ -452,13 +452,17 @@ function initAll!(dfg::AbstractDFG, # May have to first add the solveKey VNDs if they are not yet available for sym in syms - var = getVariable(dfg, sym) + vari = getVariable(dfg, sym) + varType = getVariableType(vari) |> _variableType # does SolverData exist for this solveKey? - if !( solveKey in listSolveKeys(var) ) - varType = getVariableType(var) + vsolveKeys = listSolveKeys(vari,sym) + if !_parametricInit && !( solveKey in vsolveKeys ) # accept complete defaults for a novel solveKey - setDefaultNodeData!(var, 0, N, getDimension(varType), solveKey=solveKey, - initialized=false, varType=varType, dontmargin=false) + setDefaultNodeData!(vari, 0, N, getDimension(varType); solveKey, + initialized=false, varType) + end + if _parametricInit && !(:parametric in vsolveKeys) + setDefaultNodeDataParametric!(vari, varType; initialized=false) end end From 7a7870bf24592406d2f31c4af2a6ac92a6b82a0f Mon Sep 17 00:00:00 2001 From: dehann Date: Wed, 24 Aug 2022 13:12:10 -0700 Subject: [PATCH 2/2] oops, bugfix --- src/services/GraphInit.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/services/GraphInit.jl b/src/services/GraphInit.jl index e0aa23145..68646032c 100644 --- a/src/services/GraphInit.jl +++ b/src/services/GraphInit.jl @@ -455,7 +455,7 @@ function initAll!(dfg::AbstractDFG, vari = getVariable(dfg, sym) varType = getVariableType(vari) |> _variableType # does SolverData exist for this solveKey? - vsolveKeys = listSolveKeys(vari,sym) + vsolveKeys = listSolveKeys(vari) if !_parametricInit && !( solveKey in vsolveKeys ) # accept complete defaults for a novel solveKey setDefaultNodeData!(vari, 0, N, getDimension(varType); solveKey,