Deformation and Big displacement

Questions and remarks about code_saturne usage
Forum rules
Please read the forum usage recommendations before posting.
Paul Brss
Posts: 32
Joined: Mon Dec 04, 2017 3:00 pm

Deformation and Big displacement

Post by Paul Brss »

Hello,

I'm interested in FSI simulations with big displacement of the structure. I thought of 3 ways to do it and I could'nt find any answer on the following questions:
- Is it possible to realize a coupling with 3 codes: Saturne (for the moving domain close to the structure)/Saturne (the far field domain)/Aster (for the structure) ?
- Could Saturne realize vertical sliding mesh (I know it's possible with rotating mesh) ? And if yes, how does he treat the mesh at the boundaries ? And again, is it possible to couple with aster in this case ?
- Can saturne remesh under some conditions (mesh quality for example) during the simulation ?

There might be another option to realize big displacement with a structure coupling with Saturne ?

If anyone has an idea !


Best regards,

Paul
Yvan Fournier
Posts: 4209
Joined: Mon Feb 20, 2012 3:25 pm

Re: Deformation and Big displacement

Post by Yvan Fournier »

Hello,

The coupling with 3 codes should be possible id code_aster is only coupled to one Code_Saturne domain (though it's not been tried before). To couple one code_aster instance with two Code_Saturne would require significant changes in the coupling infrastructure (which is in serious need of a rewrite, but this is not a short term issue).

Using a sliding instead of rotating mesh would require only minor changes in the Code_Saturne sources (but cannot yet be done using user functions only). The coupling involves boundary conditions only, so it is explicit in terms of time-stepping.

As the code does not include remeshing, this could be handled by measuring mesh quality criteria at each time step, and using checkpoint/restart on new meshes. The code cannot currently handle interpolating to a new mesh upon restart, but this is something we have pretty precise ideas on, and could be done with quite minor changes (and a bit of testing).

So basically, if you are comfortable with coding and willing to do minor development and a bit of testing, I can happily guide you through this. If you need something "out of the box", then the feature set is not quite ready yet.

Regards,

Yvan
Paul Brss
Posts: 32
Joined: Mon Dec 04, 2017 3:00 pm

Re: Deformation and Big displacement

Post by Paul Brss »

Hello Yvan,

First of all, thank you for your very clear answer !

In my case, only one Code_saturne domain will be coupled with aster. And the same one will be coupled with another code_saturne domain.
Do you have any documentations on Saturne/Saturne coupling ? I only found some presentation of RANS/LES hybrid mesh simulations.


I'll keep you in touch when I make a choice. I need to talk to my superior first.

Regards,

Paul
Yvan Fournier
Posts: 4209
Joined: Mon Feb 20, 2012 3:25 pm

Re: Deformation and Big displacement

Post by Yvan Fournier »

Hello,

Unfortunately, there is not much documentation with code/code coupling. At least I can point you to the relevant files if you decide to work on this...

Best regards,

Yvan
Paul Brss
Posts: 32
Joined: Mon Dec 04, 2017 3:00 pm

Re: Deformation and Big displacement

Post by Paul Brss »

Hi Yvan,

So I'm interesting in Saturne/Saturne coupling. I'm going to start without aster for now.
Is it based on Chimere method ?

So, can you tell me which files are relevant ? I didn't find much on "user" and "theory" pdf.
And can you advise me on some scientific works/papers useful, if it's not too much to ask ?

Thank you in advance,


Paul
Yvan Fournier
Posts: 4209
Joined: Mon Feb 20, 2012 3:25 pm

Re: Deformation and Big displacement

Post by Yvan Fournier »

Hello,

Sorry for not answering earlier.

You can check the cs_user_coupling.c user function to define a coupling (as well as create 2 coupled cases with "code_saturne create -c domain1 -c domain2" type syntax).

The boundary condition coupling functions are at the C/Fortran interface, and utility functions defined mostly in src/base/cs_sat_coupling.c (with the location aspects in libple, but you should not need to change those). Most of the coupling logic (the part you may need to adapt) is in the src/base/csc*.f90 functions.

It may also be useful to "grep" for the "imobil" keyword in the Fortran sources, as this is related to mobile meshes (rotor-stator in the current case, adaptable to large deformations). Actually I recommend starting with this.

Actually the following link is old but still mostly relevant: [url][http://cfd.mace.manchester.ac.uk/twiki/ ... upling/url]

I am not aware of papers that would provide any detailed information useful for this (there may be some internal reports, but I'm not sure about those; I'll try to check).

Best regards,

Yvan Fournier
Paul Brss
Posts: 32
Joined: Mon Dec 04, 2017 3:00 pm

Re: Deformation and Big displacement

Post by Paul Brss »

Hello Yvan,

Thanks for your answer. I apologize for answering that late (Happy new year, by the way).
I'll take a look at your advice the coming weeks.

Did you manage to check for internal reports by chance ?


Best regards,


Paul
Yvan Fournier
Posts: 4209
Joined: Mon Feb 20, 2012 3:25 pm

Re: Deformation and Big displacement

Post by Yvan Fournier »

Hello,

And happy new year.

Not yet, but I should probably see some of the code_aster developers in a meeting next week, so I'll ask them the question.

Best regards,

Yvan
Paul Brss
Posts: 32
Joined: Mon Dec 04, 2017 3:00 pm

Re: Deformation and Big displacement

Post by Paul Brss »

Hi Yvan,

First of all, do you have some news on some documentations about Code/code coupling ?
I would need some information about how the interpolation are made from one domain to the other (on the theory aspect).

I checked the sources codes as you adviced but it's still unclear.


On the other hand, I would need some help on how to run the simulation.
I run code_saturne create -s name -c domain1 -c domain2, so I have two case, a new "runcase' file, etc...
Now my question is where to put the cs_user_coupling.c file:
- In the SRC directory of both domain1 and domain2 ?
- In the SRC directory of just one domain ? And which one ?
- In a new SRC directory created where the domain1 and domain2 cases are ?

In addition, I have some trouble to filled the cs_sat_coupling_define fonction.

Eventually, I've got some error :

Code: Select all

Error parsing expression:
all
^
Erreur de syntaxe, probablement due à des opérandes mal placés 
Please find attached the listing, error and *.log files of both domain.

Many thanks,

Paul
Attachments
dynamic.zip
(14.17 KiB) Downloaded 270 times
static.zip
(9.42 KiB) Downloaded 280 times
Yvan Fournier
Posts: 4209
Joined: Mon Feb 20, 2012 3:25 pm

Re: Deformation and Big displacement

Post by Yvan Fournier »

Hello,

A copy of cs_user_coupling.c much be in each domain (with selection criteria adjusted to each domain).

The syntax for selection criteria is detailed in the user documentation. Functions are postfixed by"[]" (possibly with arguments between the brackets). So "all[]" is correct but "all" is not (unless a group named "all" is present, in which case it should be allowed (I need to check there is no parse error).

Regards,

Yvan
Post Reply