hexagon logo

Do you have support documents/example files on ADAMS co-simulation with any tool using .dll files?

I am trying to perform a co-simulation with Dymola (a 1 D simulation tool) using .dll files but not able to find supporting literature or support document on steps to be followed. Any support would be appreciated.
Parents
  • That's unfortunate - Dymola & ADAMS are both designed to use this for cosimulation, via the ADAMS/Controls plugin, where there is an interface designed to ease the use of FMU.
     
    The usual context I have seen DLL used directly is when defining say a force (see search term SFOSUB) via a user subroutine. You can point ADAMS/View to a library (before the :: ) and a subroutine within it (after the ::) and feed inputs to the code.
    aview_sfosub_dialogue
    You can also just write it into the solver code, for which several statements support the use of the subroutine option, which might look like the following:
     
    GFORCE/1, I=123100, JFLOAT = 4, RM = 3, FUNCTION =USER(900,1,100), ROUTINE = myTire::myGFOsub
     
    The library "myTire" alluded to, would be the DLL (Dynamically Linked Library) and should be located in the working directory. If I remember correctly, though, there's much more to this than meets the eye, and it might not be possible to make just any DLL do what you want. I will have to allow you to refer to others for that information.
     
    Consider looking at SIMCOMPANION as a springboard:
     
     
     
     
     
    /Sas
Reply
  • That's unfortunate - Dymola & ADAMS are both designed to use this for cosimulation, via the ADAMS/Controls plugin, where there is an interface designed to ease the use of FMU.
     
    The usual context I have seen DLL used directly is when defining say a force (see search term SFOSUB) via a user subroutine. You can point ADAMS/View to a library (before the :: ) and a subroutine within it (after the ::) and feed inputs to the code.
    aview_sfosub_dialogue
    You can also just write it into the solver code, for which several statements support the use of the subroutine option, which might look like the following:
     
    GFORCE/1, I=123100, JFLOAT = 4, RM = 3, FUNCTION =USER(900,1,100), ROUTINE = myTire::myGFOsub
     
    The library "myTire" alluded to, would be the DLL (Dynamically Linked Library) and should be located in the working directory. If I remember correctly, though, there's much more to this than meets the eye, and it might not be possible to make just any DLL do what you want. I will have to allow you to refer to others for that information.
     
    Consider looking at SIMCOMPANION as a springboard:
     
     
     
     
     
    /Sas
Children
No Data