As already mentioned in the title, initialization of my (multibody) model is influenced by annotation(evaluate).
With new parameter par
implemented in the model, initialization always fails if I use :
parameter par annotation(evaluate=false)
but if I use
evaluate=true,
it works.
The first option is unfortunately not a good solution for me, as I want to be able to set the parameter value after compilation time.
What exactly happens to the model structure when one of the parameters is set to evaluate=false
?
What should I check besides initial conditions?
What is value of the parameter?
There are a number of different scenarios where this can occur:
Boolean/Integer values that determine the size of arrays etc. If they have Evaluate=false you will have problem even translating your model.
Zero values for e.g. mass that influence the index-reduction; in that case you should log the index-reduction in addition to initial conditions.
Anything else that influence the structure of the systems of equations for the initialization; you can look at that log - and also add debug-messages for non-linear system of equations (e.g. to detect if they are singular). The axis of revolute joints are often in the last category.