Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Clean up semantics of input and output derivatives (especially in context of IVA) #622

Open
chrbertsch opened this issue Sep 20, 2019 · 2 comments

Comments

@chrbertsch
Copy link
Collaborator

commented Sep 20, 2019

see discussion in #603

  • Clarify description of input/output derivatives in FMI
  • Describe exact interplay between input/output derivatives and IVA
@CSchulzeTLK

This comment has been minimized.

Copy link

commented Oct 2, 2019

Proposal at design meeting:
We allow to use fmi3SetInputDerivatives and fmi3GetOutputDerivatives functions in Intermediate Output Values / IVA. We forbid to use fmi3GetDirectionalDerivatives for the sake of simplicitly.

Current proposal to clarify setting values and extrapolation of inputs (incomplete yet):
"If a value is set with a setter function, then this value stays until the next call to the setter function for the same value reference. This also applies to the function fmi3SetInputDerivatives."

Two options to handle extrapolation at communication points or intermediate access calls.

  1. If an input and its derivatives are set at time t, then these values are correct for time t, but an fmu internal extrapolation algorithm will be used to adapt those values after time t.

  2. "Sawtooth"

Option 1 is preferred over 2.

4 Options how to handle partial provision of derivatives after providing the "full" information:

  1. "not clearly defined"
    "The behavior is undefined if only partial derivative information is set after providing any kind of input derivative information once. (update input derivative without the input value)"
    -> non normative text telling that this is not defined and the master and fmu have to find a vendor specific solution

  2. "if you do it once then do it always"
    "If at some time t input derivatives are provided then the value and all input derivatives have to be provided"
    -> so it is not possible to stop providing derivatives

  3. "Missing derivative information is provided by extrapolation algorithm"
    -> because the extrapolation algorithm is unkown this has limited usability

  4. "review the feature in general"
    maybe remove and use intermediate access.
    -> this might be a more efficient way to provide the inputs, and so the feature to provide input derivatives might be obsolete.

This has to be discussed during the next meeting.

@andreas-junghanns

This comment has been minimized.

Copy link
Contributor

commented Oct 2, 2019

Further clarification is required for default values of derivatives to be 0, even if not specified.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
3 participants
You can’t perform that action at this time.