CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM Programming & Development

any detail information about deformation gradient in fsiFOAM

Register Blogs Community New Posts Updated Threads Search

Like Tree1Likes
  • 1 Post By Hgholami

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   August 6, 2019, 23:14
Default any detail information about deformation gradient in fsiFOAM
  #1
Senior Member
 
Hojatollah Gholami
Join Date: Jan 2019
Posts: 171
Rep Power: 7
Hgholami is on a distinguished road
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
Hgholami is offline   Reply With Quote

Old   August 8, 2019, 09:14
Default
  #2
Senior Member
 
Hojatollah Gholami
Join Date: Jan 2019
Posts: 171
Rep Power: 7
Hgholami is on a distinguished road
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();
and I think the strain had this code E=0.5(transpose(F)*F-I)=0.5(gradD_ +gradD_.T()+gradD_ & gradD_.T() )
Quote:
epsilon_ = symm(gradD_); //=0.5(gradD_+gradD_.T())
if(nonLinear == nonLinearGeometry::TOTAL_LAGRANGIAN)
{
epsilon_ += 0.5*symm(gradD_ & gradD_.T());
}
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?
Hgholami is offline   Reply With Quote

Old   August 8, 2019, 11:18
Default
  #3
Super Moderator
 
bigphil's Avatar
 
Philip Cardiff
Join Date: Mar 2009
Location: Dublin, Ireland
Posts: 1,097
Rep Power: 34
bigphil will become famous soon enoughbigphil will become famous soon enough
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
bigphil is offline   Reply With Quote

Old   August 8, 2019, 15:40
Default
  #4
Senior Member
 
Hojatollah Gholami
Join Date: Jan 2019
Posts: 171
Rep Power: 7
Hgholami is on a distinguished road
Quote:
Originally Posted by bigphil View Post
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
Thanks for your reply
Hgholami is offline   Reply With Quote

Old   April 6, 2020, 19:48
Default No solid deformation by fsiFoam
  #5
Member
 
Join Date: Apr 2015
Posts: 42
Rep Power: 11
HosseinB is on a distinguished road
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:


sed -i s/tcsh/sh/g *Links ./removeSerialLinks fluid solid ./makeSerialLinks fluid solid cd fluid ./Allclean ./Allrun



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



Hossein
Attached Images
File Type: jpg plateOnFlowFsi.JPG (29.9 KB, 5 views)
Attached Files
File Type: gz forForum.tar.gz (5.9 KB, 2 views)
HosseinB is offline   Reply With Quote

Old   April 7, 2020, 01:03
Default
  #6
Senior Member
 
Hojatollah Gholami
Join Date: Jan 2019
Posts: 171
Rep Power: 7
Hgholami is on a distinguished road
Hi,
First in attached files. the coupled in fsiProperties is no, do you sure you change it to yes.
bigphil likes this.
Hgholami is offline   Reply With Quote

Old   April 7, 2020, 14:29
Default
  #7
Member
 
Join Date: Apr 2015
Posts: 42
Rep Power: 11
HosseinB is on a distinguished road
Quote:
Originally Posted by Hgholami View Post
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
HosseinB is offline   Reply With Quote

Old   April 8, 2020, 00:29
Default
  #8
Senior Member
 
Hojatollah Gholami
Join Date: Jan 2019
Posts: 171
Rep Power: 7
Hgholami is on a distinguished road
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<fvMesh>(regionName_);

fluidSolidInterface& fsi =
const_cast<fluidSolidInterface&>
(
mesh.lookupObject<fluidSolidInterface>("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
Hgholami is offline   Reply With Quote

Old   April 10, 2020, 12:31
Default
  #9
Member
 
Join Date: Apr 2015
Posts: 42
Rep Power: 11
HosseinB is on a distinguished road
Quote:
Originally Posted by Hgholami View Post
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



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
HosseinB is offline   Reply With Quote

Old   August 14, 2020, 07:40
Default
  #10
New Member
 
wanghongjie
Join Date: Apr 2020
Posts: 28
Rep Power: 6
wanghongjie is on a distinguished road
Quote:
Originally Posted by HosseinB View Post
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?
wanghongjie is offline   Reply With Quote

Reply

Tags
deformation gradient, fsifoam


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
ERROR #001100279 has occurred in subroutine ErrAction. smnaryal CFX 11 December 20, 2017 17:32
libz.so.1: no version information available dmaz OpenFOAM Running, Solving & CFD 3 January 4, 2015 17:54
About deformation gradient tensor ZHANG Main CFD Forum 0 June 18, 2007 13:51
how to get the detail information about k-e models limingtiger Siemens 1 July 15, 2005 05:22
Terrible Mistake In Fluid Dynamics History Abhi Main CFD Forum 12 July 8, 2002 10:11


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