CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM Community Contributions > OpenFOAM CC Toolkits for Fluid-Structure Interaction

[solids4Foam] Does FSI work with OpenFOAM-v1812 ?

Register Blogs Members List Search Today's Posts Mark Forums Read

Like Tree3Likes
  • 1 Post By monnda
  • 1 Post By bigphil
  • 1 Post By Daniel_Khazaei

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   April 17, 2020, 10:52
Default Does FSI work with OpenFOAM-v1812 ?
  #1
New Member
 
Join Date: Nov 2018
Location: Japan
Posts: 17
Rep Power: 3
monnda is on a distinguished road
Hello everyone!

Now I know solids4Foam compiles with OpenFOAM-v1812 or OpenFOAM-7 so I'm trying to run tutorials with v1812. But I have a problem of running the flexibleDamBreak case (I think other tutorials have the same problem too) where I get a following error when I select AMI for interface interpolation.

Quote:
cannot dereference nullptr at index 0 in range [0,42)

From function T& Foam::UPtrList<T>:perator[](Foam::label) [with T = Foam::Field<double>; Foam::label = int]
in file /uhome/y90005/OpenFOAM/OpenFOAM-v1812-gcc/src/OpenFOAM/lnInclude/UPtrListI.H at line 218.

FOAM aborting
I understand porting work from foam-extend version is still ongoing but there might be just missing something in my case. I would appreciate if someone could help me with this.

Thank you!
monnda is offline   Reply With Quote

Old   April 17, 2020, 11:10
Default
  #2
New Member
 
Join Date: Nov 2018
Location: Japan
Posts: 17
Rep Power: 3
monnda is on a distinguished road
Here is the flexibleDamBreak tutorial that I have modified a bit to be able to run with OpenFOAM-v1812.
Attached Files
File Type: zip flexibleDamBreak_v1812.zip (107.0 KB, 3 views)
bigphil likes this.
monnda is offline   Reply With Quote

Old   April 17, 2020, 11:17
Default
  #3
Super Moderator
 
bigphil's Avatar
 
Philip Cardiff
Join Date: Mar 2009
Location: Dublin, Ireland
Posts: 835
Rep Power: 28
bigphil will become famous soon enoughbigphil will become famous soon enough
Hi monnda,

Yes, you are correct that soldis4foam compiles with OpenFOAM-v1812 and OpenFOAM-7. Making the tutorials compatible is on the to-do list. As of know, the only compatible tutorial is:
Code:
solids4foam/tutorials/fluidSolidInteraction/beamInCrossFlow/linearGeometryElasticBeam.openfoam
If you compare this to the standard linearGeometryElasticBeam then it will give you an idea of the type of changes required at the case level.

Philip
Daniel_Khazaei likes this.
bigphil is offline   Reply With Quote

Old   April 17, 2020, 11:59
Default
  #4
New Member
 
Join Date: Nov 2018
Location: Japan
Posts: 17
Rep Power: 3
monnda is on a distinguished road
Thank you, Phillip!

I didn't know there is a tutorial for v1812! This will help a lot.

But I just tried to run the case with AMI for interfaceTransferMethod and I still got the same error above. So I guess that the solver is not yet developed to run with AMI. In the tutorial case, mesh is perfectly conformal at the interface so it can be run with directMap method but I need to run with AMI or RBF because in my case mesh is actually not conformal between solid and fluid.

Tutorials can be run with RBF with no problems but for may case I got the following error.
Quote:
terminate called after throwing an instance of 'std::bad_alloc'
what(): std::bad_alloc
Probably I get this error because my mesh is too big?

Is there any way that I can run my case with RBF or AMI?
monnda is offline   Reply With Quote

Old   April 17, 2020, 12:38
Default
  #5
Super Moderator
 
bigphil's Avatar
 
Philip Cardiff
Join Date: Mar 2009
Location: Dublin, Ireland
Posts: 835
Rep Power: 28
bigphil will become famous soon enoughbigphil will become famous soon enough
RBF can become very memory hungry. I suggest monitoring your RAM for your case to check if the error comes from that, but I think that is probably the case.

As regards using AMI, for OpenFOAM-v1812 it should work with "AMI": I think it is currently called GGI_AMI (I need to correct this to AMI). The tutorials runs for me with it. I think AMI may not be working for OpenFOAM-7 yet.

Also, I just noticed for OpenFOAM-v1812, I had to add "libs ("libfvMotionSolvers.so");" to the controlDict for the tutorial to work.

Best,
Philip
bigphil is offline   Reply With Quote

Old   April 18, 2020, 00:37
Default
  #6
New Member
 
Join Date: Nov 2018
Location: Japan
Posts: 17
Rep Power: 3
monnda is on a distinguished road
I cannot run the tutorial with AMI with v1812 somehow. I get the same error I showed above first. It is okay to just select "AMI" in fsiProperties like below, right?
Quote:
interfaceTransferMethod AMI;
monnda is offline   Reply With Quote

Old   April 18, 2020, 06:59
Default
  #7
Senior Member
 
Daniel
Join Date: Mar 2013
Location: Noshahr, Iran
Posts: 346
Rep Power: 17
Daniel_Khazaei will become famous soon enough
Quote:
Originally Posted by bigphil View Post
As regards using AMI, for OpenFOAM-v1812 it should work with "AMI": I think it is currently called GGI_AMI (I need to correct this to AMI). The tutorials runs for me with it. I think AMI may not be working for OpenFOAM-7 yet.
Hi,

AMI should also work on OpenFOAM-7 as we (if you remember) have fixed the problem a few month ago. I tested HronTurekFsi3 case and it works as expected although skew-corrected scheme produces spurious damping on OpenFOAM-7.

You can find the modified case below.

Regards,
D. Khazaei
Attached Files
File Type: gz HronTurekFsi3.tar.gz (7.1 KB, 6 views)
bigphil likes this.
Daniel_Khazaei is offline   Reply With Quote

Old   April 19, 2020, 05:44
Default
  #8
New Member
 
Join Date: Nov 2018
Location: Japan
Posts: 17
Rep Power: 3
monnda is on a distinguished road
Hello,

To get AMI interface interpolation run with OpenFOAM-v1812, I changed the macro in amiInterfaceToInterfaceMapping.C like below. Just exchanged OPENFOAMESI with OPENFOAMFOUNdATION. Now I am glad that the problem is solved but is this a bug in the code? if it isn't, maybe I have something wrong in my code.
Quote:
//#ifdef OPENFOAMESI
#ifdef OPENFOAMFOUNDATION
zoneAPointWeights[pointI] = List<scalar>(3);
#else
zoneAPointWeights.set(pointI, new scalarField(3));
#endif
monnda is offline   Reply With Quote

Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
OpenFOAM course for beginners Jibran OpenFOAM Announcements from Other Sources 3 July 1, 2020 09:58
[Gmsh] gmshToFoam on openfoam windows version of OpenFOAM v1812? SihunLee OpenFOAM Meshing & Mesh Conversion 0 June 17, 2019 05:44
OpenFOAM Training Jan-Jul 2017, Virtual, London, Houston, Berlin CFDFoundation OpenFOAM Announcements from Other Sources 0 January 4, 2017 06:15
OpenFOAM does not work any more! kiddmax OpenFOAM Installation 12 June 25, 2013 02:56
Installation of OpenFOAM 1.5-dev and its fitness for FSI? Martin_ OpenFOAM Installation 24 November 16, 2010 17:39


All times are GMT -4. The time now is 17:48.