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

 August 6, 2019, 23:14 any detail information about deformation gradient in fsiFOAM #1 Senior Member   Hojatollah Gholami Join Date: Jan 2019 Posts: 128 Rep Power: 3 Dear Foamer I studied article "OpenFOAM FINITE VOLUME SOLVER FOR FLUID-SOLID INTERACTION" that describe fsiFoam solver and also see code of solid solver. it mentioned the deformation gradient as "F=I+trasnpose(DU)", but I saw in the others solid studies as "F=I+DU" for example"https://www.continuummechanics.org/deformationgradient.html". My problem is why it changed? Thanks

August 8, 2019, 09:14
#2
Senior Member

Hojatollah Gholami
Join Date: Jan 2019
Posts: 128
Rep Power: 3
In Article "A Lagrangian Cell-Centred Finite Volume Method for Metal Forming Simulation", Page (5), it mentioned "The relative deformation gradient is given in terms of the displacement increment as f = I + ∇(u)T". But I saw in solid mechanics book that the deformation gradient is f =I+∇(u), without transpose.
In OpenFOAM the code of deformation gradient was
Quote:
 volTensorField F = I + gradD_.T();
Quote:
I thinks, the article wrote base on OpenFOAM definition not solid mechanics book, is it OK?
because for grad different in OpenFOAM, I found this

is it OK?

 August 8, 2019, 11:18 #3 Super Moderator     Philip Cardiff Join Date: Mar 2009 Location: Dublin, Ireland Posts: 859 Rep Power: 28 Hi Hojatollah, Yes your OpenFOAM definition of fvc::grad(U)().T() is correct, and you are correct that it is the same as \frac{\partial U}{\partial X} from your solid mechanics reference. The OpenFOAM definition comes from the outer product of nabla (a vector) and U (a vector), where nabla = (\frac{\partial}{\partial x} \frac{\partial}{\partial y} \frac{\partial}{\partial z}). Hopefully, this makes sense. You can always double-check the components to be sure. Philip

August 8, 2019, 15:40
#4
Senior Member

Hojatollah Gholami
Join Date: Jan 2019
Posts: 128
Rep Power: 3
Quote:
 Originally Posted by bigphil Hi Hojatollah, Yes your OpenFOAM definition of fvc::grad(U)().T() is correct, and you are correct that it is the same as \frac{\partial U}{\partial X} from your solid mechanics reference. The OpenFOAM definition comes from the outer product of nabla (a vector) and U (a vector), where nabla = (\frac{\partial}{\partial x} \frac{\partial}{\partial y} \frac{\partial}{\partial z}). Hopefully, this makes sense. You can always double-check the components to be sure. Philip

April 6, 2020, 19:48
No solid deformation by fsiFoam
#5
Member

Join Date: Apr 2015
Posts: 42
Rep Power: 7
Hi community,

foam-extended 4.0, fsiFoam, 2D

I have a solid-fluid system that I'd like to model.

It is a thin horizontal plate (red in the attached figure) fixed at its two end vertical edges. The plate is on top of a flow with an inlet horizontal flow speed. In the middle of the flow, there is a rigid box diverting the flow.

I expect this flow diversion to deflect the plate. fsiFoam, however, doesn't capture any solid deformation. My problem is not its visualization in paraview. I have changed the inlet flow speed, elastic modulus and thickness of the plate and the plate just doesn't move.

I have built my model following the 3dTube and HronTurelFsi3 tutorials of the fe40/fsiFoam.

My case files are attached.

Note that I copy and paste the following in my command line to run my case:

I would be thankful if you could help me figure out what the issue is.

Hossein
Attached Images
 plateOnFlowFsi.JPG (29.9 KB, 3 views)
Attached Files
 forForum.tar.gz (5.9 KB, 1 views)

 April 7, 2020, 01:03 #6 Senior Member   Hojatollah Gholami Join Date: Jan 2019 Posts: 128 Rep Power: 3 Hi, First in attached files. the coupled in fsiProperties is no, do you sure you change it to yes. bigphil likes this.

April 7, 2020, 14:29
#7
Member

Join Date: Apr 2015
Posts: 42
Rep Power: 7
Quote:
 Originally Posted by Hgholami Hi, First in attached files. the coupled in fsiProperties is no, do you sure you change it to yes.

Thanks Hojatollah and Philip,

I set the "coupled" to "yes" and it is working now (wondering why in the 3DTube example with "coupled" set to "off", it was still working!)

Another question:

How can I add gravity forces to both solid and fluid?

Thanks a lot,
Hossein

April 8, 2020, 00:29
#8
Senior Member

Hojatollah Gholami
Join Date: Jan 2019
Posts: 128
Rep Power: 3
Hi
first in 3DTube example, the coupled is yes. May you see Hron-Turek example that have coupled off and it turn on after 2s by HronTurekReport's object
Quote:
 bool Foam::hronTurekReport::execute() { const fvMesh& mesh = time_.lookupObject(regionName_); fluidSolidInterface& fsi = const_cast ( mesh.lookupObject("fsiPropert ies") ); if (time_.value()>2) { if (!fsi.coupled()) { fsi.set("coupled", true); } } return writeData(); }
for another question:
In solid region we have bodyForce that read from solidProperties file (g)
Quote:
 if (solidProperties().found("g")) { bodyForce() = dimensionedVector(solidProperties().lookup("g")); }
and use it in DEqn
Quote:
 fvVectorMatrix DEqn ( rho_*fvm::d2dt2(D_) == fvm::laplacian(2*muf_ + lambdaf_, D_, "laplacian(DD,D)") + fvc::div ( mesh().Sf() & ( - (muf_ + lambdaf_)*gradDf_ + muf_*gradDf_.T() + lambdaf_*(I*tr(gradDf_)) ) ) + rho_*bodyForce() );
For fluid, as the flow is forced. usually the gravity is neglect. But you can add some code similar solid solver to fluid solver.
First define bodyForce (declare), then read bodyForce (fluidProperties.lookup) and finally add it to momentum equation (UEqn)
Don't forget to add similar variable to .H file

April 10, 2020, 12:31
#9
Member

Join Date: Apr 2015
Posts: 42
Rep Power: 7
Quote:
 Originally Posted by Hgholami Hi first in 3DTube example, the coupled is yes. May you see Hron-Turek example that have coupled off and it turn on after 2s by HronTurekReport's object for another question: In solid region we have bodyForce that read from solidProperties file (g) and use it in DEqn For fluid, as the flow is forced. usually the gravity is neglect. But you can add some code similar solid solver to fluid solver. First define bodyForce (declare), then read bodyForce (fluidProperties.lookup) and finally add it to momentum equation (UEqn) Don't forget to add similar variable to .H file

My eventual goals is to simulate a case where the gravity and buoyancy (fluid pushing the plate up when the plate deflects into the fluid) are both taken into account.

I am aware that interFoam (VoF two-phase flow solver of openFoam) includes the gravity, but not the buoyancy. My simulation isn't a two-phase flow case since I only have the fluid and the plate.

Is fsiFoam suitable for this simulation?

Cheers,
Hossein

August 14, 2020, 07:40
#10
New Member

wanghongjie
Join Date: Apr 2020
Posts: 27
Rep Power: 2
Quote:
 Originally Posted by HosseinB Thanks for your reply. My eventual goals is to simulate a case where the gravity and buoyancy (fluid pushing the plate up when the plate deflects into the fluid) are both taken into account. I am aware that interFoam (VoF two-phase flow solver of openFoam) includes the gravity, but not the buoyancy. My simulation isn't a two-phase flow case since I only have the fluid and the plate. Is fsiFoam suitable for this simulation? Cheers, Hossein
Did you have a solution?