{"action":"created","issue":{"url":"https://api.github.com/repos/modelica/fmi-standard/issues/144","repository_url":"https://api.github.com/repos/modelica/fmi-standard","labels_url":"https://api.github.com/repos/modelica/fmi-standard/issues/144/labels{/name}","comments_url":"https://api.github.com/repos/modelica/fmi-standard/issues/144/comments","events_url":"https://api.github.com/repos/modelica/fmi-standard/issues/144/events","html_url":"https://github.com/modelica/fmi-standard/issues/144","id":370786967,"node_id":"MDU6SXNzdWUzNzA3ODY5Njc=","number":144,"title":"Handling Constraints in ModelExchange","user":{"login":"modelica-trac-importer","id":22202507,"node_id":"MDQ6VXNlcjIyMjAyNTA3","avatar_url":"https://avatars1.githubusercontent.com/u/22202507?v=4","gravatar_id":"","url":"https://api.github.com/users/modelica-trac-importer","html_url":"https://github.com/modelica-trac-importer","followers_url":"https://api.github.com/users/modelica-trac-importer/followers","following_url":"https://api.github.com/users/modelica-trac-importer/following{/other_user}","gists_url":"https://api.github.com/users/modelica-trac-importer/gists{/gist_id}","starred_url":"https://api.github.com/users/modelica-trac-importer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/modelica-trac-importer/subscriptions","organizations_url":"https://api.github.com/users/modelica-trac-importer/orgs","repos_url":"https://api.github.com/users/modelica-trac-importer/repos","events_url":"https://api.github.com/users/modelica-trac-importer/events{/privacy}","received_events_url":"https://api.github.com/users/modelica-trac-importer/received_events","type":"User","site_admin":false},"labels":[{"id":1093397540,"node_id":"MDU6TGFiZWwxMDkzMzk3NTQw","url":"https://api.github.com/repos/modelica/fmi-standard/labels/P:%20major","name":"P: major","color":"f6f6f6","default":false},{"id":1046392993,"node_id":"MDU6TGFiZWwxMDQ2MzkyOTkz","url":"https://api.github.com/repos/modelica/fmi-standard/labels/enhancement","name":"enhancement","color":"a2eeef","default":true},{"id":1093395658,"node_id":"MDU6TGFiZWwxMDkzMzk1NjU4","url":"https://api.github.com/repos/modelica/fmi-standard/labels/specification","name":"specification","color":"0000aa","default":false}],"state":"open","locked":false,"assignee":{"login":"TorstenBlochwitz","id":33951596,"node_id":"MDQ6VXNlcjMzOTUxNTk2","avatar_url":"https://avatars1.githubusercontent.com/u/33951596?v=4","gravatar_id":"","url":"https://api.github.com/users/TorstenBlochwitz","html_url":"https://github.com/TorstenBlochwitz","followers_url":"https://api.github.com/users/TorstenBlochwitz/followers","following_url":"https://api.github.com/users/TorstenBlochwitz/following{/other_user}","gists_url":"https://api.github.com/users/TorstenBlochwitz/gists{/gist_id}","starred_url":"https://api.github.com/users/TorstenBlochwitz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/TorstenBlochwitz/subscriptions","organizations_url":"https://api.github.com/users/TorstenBlochwitz/orgs","repos_url":"https://api.github.com/users/TorstenBlochwitz/repos","events_url":"https://api.github.com/users/TorstenBlochwitz/events{/privacy}","received_events_url":"https://api.github.com/users/TorstenBlochwitz/received_events","type":"User","site_admin":false},"assignees":[{"login":"TorstenBlochwitz","id":33951596,"node_id":"MDQ6VXNlcjMzOTUxNTk2","avatar_url":"https://avatars1.githubusercontent.com/u/33951596?v=4","gravatar_id":"","url":"https://api.github.com/users/TorstenBlochwitz","html_url":"https://github.com/TorstenBlochwitz","followers_url":"https://api.github.com/users/TorstenBlochwitz/followers","following_url":"https://api.github.com/users/TorstenBlochwitz/following{/other_user}","gists_url":"https://api.github.com/users/TorstenBlochwitz/gists{/gist_id}","starred_url":"https://api.github.com/users/TorstenBlochwitz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/TorstenBlochwitz/subscriptions","organizations_url":"https://api.github.com/users/TorstenBlochwitz/orgs","repos_url":"https://api.github.com/users/TorstenBlochwitz/repos","events_url":"https://api.github.com/users/TorstenBlochwitz/events{/privacy}","received_events_url":"https://api.github.com/users/TorstenBlochwitz/received_events","type":"User","site_admin":false}],"milestone":{"url":"https://api.github.com/repos/modelica/fmi-standard/milestones/1","html_url":"https://github.com/modelica/fmi-standard/milestone/1","labels_url":"https://api.github.com/repos/modelica/fmi-standard/milestones/1/labels","id":3743788,"node_id":"MDk6TWlsZXN0b25lMzc0Mzc4OA==","number":1,"title":"FMI 2.1","description":"","creator":{"login":"modelica-trac-importer","id":22202507,"node_id":"MDQ6VXNlcjIyMjAyNTA3","avatar_url":"https://avatars1.githubusercontent.com/u/22202507?v=4","gravatar_id":"","url":"https://api.github.com/users/modelica-trac-importer","html_url":"https://github.com/modelica-trac-importer","followers_url":"https://api.github.com/users/modelica-trac-importer/followers","following_url":"https://api.github.com/users/modelica-trac-importer/following{/other_user}","gists_url":"https://api.github.com/users/modelica-trac-importer/gists{/gist_id}","starred_url":"https://api.github.com/users/modelica-trac-importer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/modelica-trac-importer/subscriptions","organizations_url":"https://api.github.com/users/modelica-trac-importer/orgs","repos_url":"https://api.github.com/users/modelica-trac-importer/repos","events_url":"https://api.github.com/users/modelica-trac-importer/events{/privacy}","received_events_url":"https://api.github.com/users/modelica-trac-importer/received_events","type":"User","site_admin":false},"open_issues":1,"closed_issues":0,"state":"open","created_at":"2018-10-16T17:10:22Z","updated_at":"2018-10-16T20:31:51Z","due_on":null,"closed_at":null},"comments":2,"created_at":"2018-10-16T20:31:20Z","updated_at":"2018-10-16T20:32:11Z","closed_at":null,"author_association":"COLLABORATOR","body":"**Reported by akorobkine on 11 Jul 2013 19:59 UTC**\nAfter investigating FMUChecker-2.0a1/FMUChecker-2.0a2 (ModelExchange branch) we have found that fmiGetContinuousStates is not called after the call to fmiCompletedIntegratorStep, unless there are events present in the system.  This is a possible problem if the system has constraints and the states could change their values during the call to fmiCompletedIntegratorStep, but the master will possibly not have the correct (updated) values for the states.\n\nHere are the possible solutions to the above issue:\n\n(1) Adding the following call (unconditionaly):\n  fmistatus = fmi2_import_get_continuous_states(fmu, states, n_states);\n\nright after the call to fmi2_import_completed_integrator_step(fmu, &callEventUpdate)\nand prior to event handling in the FMUChecker seems to fix the above issue.\n\n(2)  Another possible fix (on the FMU generation side) is to add in a dummy event for any model that has constraints, to force the client to call fmiGetContinuousStates at the end of every step (when the events run).\n\n(3)  It may be that constraint handling should be made explicit in the FMI spec, by addition of a new function, e.g. fmiApplyProjection, and a capability flag indicating that the FMU requires projection?\n\nLooking at the above issue and the possible solutions to it, what is the preferred way to handle systems with constraints in the FMU environment?\n\nThanks,\n\nAlex/Maplesoft\n\n----\n\nMigrated-From: https://trac.fmi-standard.org/ticket/144"},"comment":{"url":"https://api.github.com/repos/modelica/fmi-standard/issues/comments/430389798","html_url":"https://github.com/modelica/fmi-standard/issues/144#issuecomment-430389798","issue_url":"https://api.github.com/repos/modelica/fmi-standard/issues/144","id":430389798,"node_id":"MDEyOklzc3VlQ29tbWVudDQzMDM4OTc5OA==","user":{"login":"modelica-trac-importer","id":22202507,"node_id":"MDQ6VXNlcjIyMjAyNTA3","avatar_url":"https://avatars1.githubusercontent.com/u/22202507?v=4","gravatar_id":"","url":"https://api.github.com/users/modelica-trac-importer","html_url":"https://github.com/modelica-trac-importer","followers_url":"https://api.github.com/users/modelica-trac-importer/followers","following_url":"https://api.github.com/users/modelica-trac-importer/following{/other_user}","gists_url":"https://api.github.com/users/modelica-trac-importer/gists{/gist_id}","starred_url":"https://api.github.com/users/modelica-trac-importer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/modelica-trac-importer/subscriptions","organizations_url":"https://api.github.com/users/modelica-trac-importer/orgs","repos_url":"https://api.github.com/users/modelica-trac-importer/repos","events_url":"https://api.github.com/users/modelica-trac-importer/events{/privacy}","received_events_url":"https://api.github.com/users/modelica-trac-importer/received_events","type":"User","site_admin":false},"created_at":"2018-10-16T20:32:11Z","updated_at":"2018-10-16T20:32:11Z","author_association":"COLLABORATOR","body":"**Comment by mfriedrich on 12 Feb 2015 18:54 UTC**\nThe last comment of otter seem for me to be the only correct solution of state projection and this way it is already possible in FMI 1.0.\nOf course, resetting the integrator after state projection (minimal state change) is not desirable due to performance reasons, but i do not see a way out here since, at least, for multistep integration methods just setting a new state is not enough due to the other previous states being store in the integrator internally."}}
{"actor":{"display_login":"modelica-trac-importer"}}