Deformation and Big displacement
Forum rules
Please read the forum usage recommendations before posting.
Please read the forum usage recommendations before posting.
Deformation and Big displacement
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
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
-
- Posts: 4209
- Joined: Mon Feb 20, 2012 3:25 pm
Re: Deformation and Big displacement
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
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
Re: Deformation and Big displacement
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
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
-
- Posts: 4209
- Joined: Mon Feb 20, 2012 3:25 pm
Re: Deformation and Big displacement
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
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
Re: Deformation and Big displacement
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
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
-
- Posts: 4209
- Joined: Mon Feb 20, 2012 3:25 pm
Re: Deformation and Big displacement
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
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
Re: Deformation and Big displacement
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
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
-
- Posts: 4209
- Joined: Mon Feb 20, 2012 3:25 pm
Re: Deformation and Big displacement
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
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
Re: Deformation and Big displacement
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 :
Please find attached the listing, error and *.log files of both domain.
Many thanks,
Paul
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
Many thanks,
Paul
- Attachments
-
- dynamic.zip
- (14.17 KiB) Downloaded 270 times
-
- static.zip
- (9.42 KiB) Downloaded 280 times
-
- Posts: 4209
- Joined: Mon Feb 20, 2012 3:25 pm
Re: Deformation and Big displacement
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
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