Discrete/Continuous hybrid DAE system

72 views
Skip to first unread message

Guan Yu

unread,
Jun 7, 2022, 6:42:33 AM6/7/22
to ProjectChrono

Hi there,

I just started learning ProjectChrono and I am trying to build a rocket launch simulation that contains multiple sub-systems such as a liquid rocket engine system, control system, etc.

I believe that ProjectChrono will perfectly get the multi-body part done, but I have the following question:

I had successfully modeled the engine system as a 1D fluid system using OpenModelica(a Modelica software that could solve custom-build DAE system), the model ends up to be a discrete/continuous hybrid DAE system (has around 500 constrain equations that solving 500 variables in which there might be 50 state variables) that solved by DASSL solver.

I know it seems odd to solve an 1D fuild system in multi-body solver, however technically speaking, is it possible that I could rebuild this 1D fluid DAE system using ChronoEngine? 

If so, which Chrono module(s) or built-in solver(s) should I use? 

Thank you a lot in advance!

best,

Yu

Radu Serban

unread,
Jun 7, 2022, 8:12:36 AM6/7/22
to ProjectChrono

Yu,

 

Currently, it’s not possible to append a generic dynamic system to be solved simultaneously with the underlying Chrono dynamics. 

You will need to adopt a co-simulation approach.

 

--Radu

--
You received this message because you are subscribed to the Google Groups "ProjectChrono" group.
To unsubscribe from this group and stop receiving emails from it, send an email to projectchron...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/projectchrono/f302a62b-5e62-48e8-9a9e-9207649759e4n%40googlegroups.com.

Freya the Goddess

unread,
Jun 7, 2022, 8:15:38 AM6/7/22
to ProjectChrono
Hi Guan Yu,

your name is the same name as one of the biggest/greatest warrior in Shu dynasty. I want to learn to create rocket launch simulation too. Which module in Project Chrono should I learn? Which book should I read?



--
С наилучшими пожеланиями, Богиня Фрейя
Atenciosamente, Freya the Goddess
Meilleurs voeuxFreya the Goddess
Liebe Grüße, Freya the Goddess
Best wishes, Freya the Goddess
よろしくお願いします、Freya the Goddess
最好的祝福,Freya the Goddess
Matakwa mema, Freya the Goddess
مع أطيب التمنيات ، فريا الإلهة

Dan Negrut

unread,
Jun 7, 2022, 10:49:59 AM6/7/22
to Guan Yu, ProjectChrono

Hi Yu - If you are interested in sloshing and simulating that in Chrono, see this contribution:

https://www.sae.org/publications/technical-papers/content/2018-01-1110/

It’s not simple, but it can be done.  You need to have knowledge of CFD, not a stroll in the park.

Alternatively, you can use DualSPHysics, that is interfaced to Chrono and is strong on the CFD side of things – see https://dual.sphysics.org/ .

Good luck!

Dan

 

-------------------------------------------------

Bernard A. and Frances M. Weideman Professor

NVIDIA CUDA Fellow

Director, Wisconsin Applied Computing Center

Department of Mechanical Engineering

Department of Computer Science

University of Wisconsin - Madison

4150ME, 1513 University Avenue

Madison, WI 53706-1572

608 772 0914

http://sbel.wisc.edu/

http://projectchrono.org/

-------------------------------------------------

 

From: projec...@googlegroups.com <projec...@googlegroups.com> On Behalf Of Guan Yu
Sent: Tuesday, June 7, 2022 5:43 AM
To: ProjectChrono <projec...@googlegroups.com>
Subject: [chrono] Discrete/Continuous hybrid DAE system

 

Hi there,

--

Guan Yu

unread,
Jun 8, 2022, 9:29:02 PM6/8/22
to ProjectChrono

Hi Dan,

 

Thank you very much for your reply!

 

I will go trough the materials you sent me.

 

Another question I am currently have is that if I would like to build a simple DAE system example(e.g. 3 equation with 3 unknowns) using the HHT solver in Chrono Engine, is there any example code I can learn or any guide that I could follow?

 

Thank you in advance!

 

Best,

Yu 

Dan Negrut

unread,
Jun 9, 2022, 4:00:07 PM6/9/22
to Guan Yu, ProjectChrono

Guan – you cannot append a simple DAE system example (e.g. 3 equation with 3 unknowns) to Chrono and have it solved.

You should define a Chrono model that will lead to those DAE equations.

 

One way to go about it, is to run a cosimulation, say with Matlab or Python. You define your equations, you solve them, and during the solution process you can talk with Chrono. In this sense, Chrono is not like Modelica. I’m not a Modelica user, so perhaps Alessandro Tasora, if he reads this, might provide a better answer than mine…

 

Dan

 

-------------------------------------------------

Bernard A. and Frances M. Weideman Professor

NVIDIA CUDA Fellow

Director, Wisconsin Applied Computing Center

Department of Mechanical Engineering

Department of Computer Science

University of Wisconsin - Madison

4150ME, 1513 University Avenue

Madison, WI 53706-1572

608 772 0914

http://sbel.wisc.edu/

http://projectchrono.org/

-------------------------------------------------

 

Sent: Wednesday, June 8, 2022 8:29 PM
To: ProjectChrono <projec...@googlegroups.com>

Alessandro Tasora

unread,
Jun 10, 2022, 3:18:13 AM6/10/22
to Guan Yu, ProjectChrono

Hi Guan,

well, the architecture of Chrono allows the solution of custom DAEs, but it requires that you go through a very complex process of inheriting from ChPhysicsItem c++ classes and that you override lot of member functions (after some manipulation of your DAEs so that you can write them in semi explicit form), etc. etc. Shortly: I would not reccomend this.  Maybe in future we'll implement some sort of "easy base-class for custom DAEs equations" where one just have to implement a lambda or a callback for the function evaluation and constraint evaluation, plus few minimal other things, but it is not planned in the short term.

As a workaround, I'd suggest you to do some cosimulation, as Dan suggested.

Alessandro

Reply all
Reply to author
Forward
0 new messages