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

Problems in implementing multiple solid patches in FSI solver

Register Blogs Community New Posts Updated Threads Search

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   September 13, 2016, 06:26
Default Problems in implementing multiple solid patches in FSI solver
  #1
New Member
 
Sourabh Supanekar
Join Date: Jun 2015
Location: Stuttgart
Posts: 11
Rep Power: 11
Sourabhsup is on a distinguished road
Hello all,
I am trying to implement multiple separate patches in the icoFsiElasticNonLinULSolidFoam solver. I have introduced separated patches instead of a single interface patch and the code does not give any error, but while reading coupling properties i think it reads only one of the 2 patches (while debugging it reads only once). At the end it gives me the same output as with the single interface patch.

Now when I make changes in the boundary conditions of one of the patches, results do not change. I am confused why this is happening.

my new couplingProperties.H says

fluidPatch FlapFluid1;
fluidZone InterfaceZone1;

fluidPatch FlapFluid2;
fluidZone InterfaceZone2;

solidPatch FlapSolid1;
solidZone InterfaceZone1;

solidPatch FlapSolid2;
solidZone InterfaceZone2;

I am not sure if I have explained my problem properly. But i am a beginner and learning so please excuse me and feel free to ask for more details.

Please give me any insights on this. Do I need to make changes in the readCouplingProperties.H code? Any help would be very much appreciated.

Thank you so much.
regards,
Sourabh

Last edited by Sourabhsup; September 15, 2016 at 06:14.
Sourabhsup is offline   Reply With Quote

Old   September 19, 2016, 05:59
Default
  #2
Super Moderator
 
bigphil's Avatar
 
Philip Cardiff
Join Date: Mar 2009
Location: Dublin, Ireland
Posts: 1,092
Rep Power: 34
bigphil will become famous soon enoughbigphil will become famous soon enough
Quote:
Originally Posted by Sourabhsup View Post
Hello all,
I am trying to implement multiple separate patches in the icoFsiElasticNonLinULSolidFoam solver. I have introduced separated patches instead of a single interface patch and the code does not give any error, but while reading coupling properties i think it reads only one of the 2 patches (while debugging it reads only once). At the end it gives me the same output as with the single interface patch.

Now when I make changes in the boundary conditions of one of the patches, results do not change. I am confused why this is happening.

my new couplingProperties.H says

fluidPatch FlapFluid1;
fluidZone InterfaceZone1;

fluidPatch FlapFluid2;
fluidZone InterfaceZone2;

solidPatch FlapSolid1;
solidZone InterfaceZone1;

solidPatch FlapSolid2;
solidZone InterfaceZone2;

I am not sure if I have explained my problem properly. But i am a beginner and learning so please excuse me and feel free to ask for more details.

Please give me any insights on this. Do I need to make changes in the readCouplingProperties.H code? Any help would be very much appreciated.

Thank you so much.
regards,
Sourabh
Hi Sourabh,

Could you explain why you need two pairs of interface patches?
Depending on your problem, it may be easier to achieve a solution using one pair of interface patches.

Best,
Philip
bigphil is offline   Reply With Quote

Old   September 19, 2016, 06:07
Default
  #3
New Member
 
Sourabh Supanekar
Join Date: Jun 2015
Location: Stuttgart
Posts: 11
Rep Power: 11
Sourabhsup is on a distinguished road
Quote:
Originally Posted by bigphil View Post
Hi Sourabh,

Could you explain why you need two pairs of interface patches?
Depending on your problem, it may be easier to achieve a solution using one pair of interface patches.

Best,
Philip
Hello Dr. Cardiff,

I want to implement a separate additional traction force on the tip of the cantilever. For that, I had thought of separating the patches into the side patch and tip patch instead of the existing single patch. Doing that I could just add a certain traction force in DU FlapSolid2 (which is tip patch). Also, i want to implement stick-slip phenomenon on the tip of cantilever later.

Would it be possible to do that without separating the patches?

Thank you
Sourabh
Sourabhsup is offline   Reply With Quote

Old   September 19, 2016, 07:33
Default
  #4
Super Moderator
 
bigphil's Avatar
 
Philip Cardiff
Join Date: Mar 2009
Location: Dublin, Ireland
Posts: 1,092
Rep Power: 34
bigphil will become famous soon enoughbigphil will become famous soon enough
Quote:
Originally Posted by Sourabhsup View Post
Hello Dr. Cardiff,

I want to implement a separate additional traction force on the tip of the cantilever. For that, I had thought of separating the patches into the side patch and tip patch instead of the existing single patch. Doing that I could just add a certain traction force in DU FlapSolid2 (which is tip patch). Also, i want to implement stick-slip phenomenon on the tip of cantilever later.

Would it be possible to do that without separating the patches?

Thank you
Sourabh
Hi Sourabh,

The way the FSI procedure works is that it takes for forces/tractions from the fluid side and applies them to the solid side: this means that even if you did have two patches, the FSI procedure would overwrite the initially specified traction on the solid patch with the fluid traction.

I'm not sure I understand why you would want to do this; maybe you could explain a little about why would you like to apply an additional force to part of the solid interface. If you were only applying traction to one side, this would mean that there is no continuity of traction.

Philip
bigphil is offline   Reply With Quote

Old   September 20, 2016, 04:58
Default
  #5
New Member
 
Sourabh Supanekar
Join Date: Jun 2015
Location: Stuttgart
Posts: 11
Rep Power: 11
Sourabhsup is on a distinguished road
Hello Dr. Cardiff,

I had to make sure if I am doing things correct. You said "this means that even if you did have two patches, the FSI procedure would overwrite the initially specified traction on the solid patch with the fluid traction", I actually want to add an additional small negative force (if fluid force is considered positive)and not overwrite it into the existing calculated fluid force for the stick phenomena of stick-slip (in a way damping the relative movement and introducing friction).

I want to add an additional force at time t=0 in DU (the stiction force acting on the tip at the very beginning which should be a some positive value exerted by fluid) and I want to add an additional varying small negative force generated due to friction at the tip during remaining time steps (stick-slip).

The reason I want to do that only at the tip is because tip is the point where more friction will exist.

Again thank you so much for your expert opinion.

Kind Regards,
Sourabh
Sourabhsup is offline   Reply With Quote

Old   September 23, 2016, 09:56
Default
  #6
Super Moderator
 
bigphil's Avatar
 
Philip Cardiff
Join Date: Mar 2009
Location: Dublin, Ireland
Posts: 1,092
Rep Power: 34
bigphil will become famous soon enoughbigphil will become famous soon enough
Quote:
Originally Posted by Sourabhsup View Post
Hello Dr. Cardiff,

I had to make sure if I am doing things correct. You said "this means that even if you did have two patches, the FSI procedure would overwrite the initially specified traction on the solid patch with the fluid traction", I actually want to add an additional small negative force (if fluid force is considered positive)and not overwrite it into the existing calculated fluid force for the stick phenomena of stick-slip (in a way damping the relative movement and introducing friction).

I want to add an additional force at time t=0 in DU (the stiction force acting on the tip at the very beginning which should be a some positive value exerted by fluid) and I want to add an additional varying small negative force generated due to friction at the tip during remaining time steps (stick-slip).

The reason I want to do that only at the tip is because tip is the point where more friction will exist.

Again thank you so much for your expert opinion.

Kind Regards,
Sourabh
Hi Sourabh,

Hmnn OK I am starting to understand what you are trying to do, but even in the case of slip, traction continuity should still be satisfied i.e. the force felt by the solid side of the interface should always be equal and opposite to the force felt by the fluid (so it's not OK to add force just to the solid or just to the fluid).
So for fluid stick-slip behaviour, what current fluid boundary condition would you like to base you condition on? (i.e. is there a current stick-slip fluid wall boundary condition?) This might point you in the right direction on how to implement it.

Philip
bigphil is offline   Reply With Quote

Old   September 28, 2016, 06:01
Default
  #7
New Member
 
Sourabh Supanekar
Join Date: Jun 2015
Location: Stuttgart
Posts: 11
Rep Power: 11
Sourabhsup is on a distinguished road
Hello Dr. Cardiff,

Thank you for the suggestions. It helped me a lot to understand. I still have a doubt regarding separating patches into 2 (fluidPatch1 and 2 and solidPatch1 and 2). Can you tell me how I can implement it? because I just want to implement stick-slip behaviour on the tip. So I think separating the patches will be a good idea.

Kind regards,
Sourabh
Sourabhsup is offline   Reply With Quote

Old   September 29, 2016, 08:28
Default
  #8
Super Moderator
 
bigphil's Avatar
 
Philip Cardiff
Join Date: Mar 2009
Location: Dublin, Ireland
Posts: 1,092
Rep Power: 34
bigphil will become famous soon enoughbigphil will become famous soon enough
Quote:
Originally Posted by Sourabhsup View Post
Hello Dr. Cardiff,

Thank you for the suggestions. It helped me a lot to understand. I still have a doubt regarding separating patches into 2 (fluidPatch1 and 2 and solidPatch1 and 2). Can you tell me how I can implement it? because I just want to implement stick-slip behaviour on the tip. So I think separating the patches will be a good idea.

Kind regards,
Sourabh
Hi Sourabh,

To add multiple FSI interface patches, you would need to go into the code and replace every instance of the solidInterfacePatch and fluidInterfacePatch with List< solidInterfacePatch > and List< fluidInterfacePatch > respectively, where solidInterfacePatch and fluidInterfacePatch represents classes related to the FSI interface and interpolation between both sides etc.

Philip
bigphil is offline   Reply With Quote

Old   October 24, 2016, 06:58
Default
  #9
New Member
 
Sourabh Supanekar
Join Date: Jun 2015
Location: Stuttgart
Posts: 11
Rep Power: 11
Sourabhsup is on a distinguished road
Hello Dr. Cardiff,

I did accordingly as you said. And I got the the values of traction separately on the 2 patches (they add up to the original value on a single patch). But at the end of one iteration I get some error. I am giving the log as well as error file output along here. Please have a look. I concluded I have a problem in the calcFsiResidual.H.

Please guide me on how I can deal with this error.



--> FOAM FATAL ERROR:
given field does not correspond to patch. Patch size: 200 field size: 400

From function PatchToPatchInterpolation::faceInterpolate(const Field<Type> ff)
in file /home/sourabhsup/foam/foam-extend-3.1/src/foam/lnInclude/PatchToPatchInterpolate.C at line 132.

FOAM aborting


Also, I get this in the log file

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
Create time

Create dynamic mesh for time = 0

--> FOAM Warning :
From function dlLibraryTable:pen(const fileName& functionLibName)
in file db/dlLibraryTable/dlLibraryTable.C at line 85
could not load libmesquiteMotionSolver.so: cannot open shared object file: No such file or directory
--> FOAM Warning :
From function dynamicFvMesh::New(const IOobject& io)
in file dynamicFvMesh/newDynamicFvMesh.C at line 42
Loading of dynamic mesh library libmesquiteMotionSolver.so unsuccesful. Some dynamic mesh methods may not be available
Selecting dynamicFvMesh dynamicMotionSolverFvMesh
Selecting motion solver: laplace
Selecting motion diffusivity: quadratic

Reading transportProperties

Reading field p

Reading field U

Reading/calculating face flux field phi

Reading incremental displacement field DU

Patch FlapSolid1 Traction boundary field: DU
nonLinear set to updated Lagrangian
Patch FlapSolid2 Traction boundary field: DU
nonLinear set to updated Lagrangian
Reading incremental displacement field DV

Reading accumulated velocity field V

Reading accumulated stress field sigma

Reading incremental stress field DSigma

Selecting rheology model linearElastic
Creating constitutive model

Reading coupling properties
Create fluid-to-solid and solid-to-fluid side interpolators
Check fluid-to-solid and solid-to-fluid side interpolators
Fluid-to-solid face side interpolation error: 0.00016666667
Solid-to-fluid face side interpolation error: 4.2857143e-05
Create fluid-to-solid and solid-to-fluid tip interpolators
Check fluid-to-solid and solid-to-fluid tip interpolators
Fluid-to-solid face tip interpolation error: 5.8333359e-05
Solid-to-fluid face tip interpolation error: 2.1739137e-05

Starting time loop

Time = 1e-05

Selecting coupling scheme Aitken

Time = 1e-05, iteration: 1
Current fsi under-relaxation factor: 0.001
Maximal accumulated displacement of interface points: 0
Courant Number mean: 0.00052200652 max: 0.0188875 velocity magnitude: 0.37775
DILUPBiCG: Solving for Ux, Initial residual = 0.99999994, Final residual = 1.2153439e-11, No Iterations 2
DILUPBiCG: Solving for Uy, Initial residual = 0.97158632, Final residual = 4.0412496e-11, No Iterations 2
GAMG: Solving for p, Initial residual = 1, Final residual = 9.6669832e-07, No Iterations 50
GAMG: Solving for p, Initial residual = 2.2301666e-08, Final residual = 4.7140419e-08, No Iterations 1
GAMG: Solving for p, Initial residual = 4.7140393e-08, Final residual = 1.3276984e-08, No Iterations 1
GAMG: Solving for p, Initial residual = 1.3276984e-08, Final residual = 2.5168639e-08, No Iterations 1
GAMG: Solving for p, Initial residual = 2.5168634e-08, Final residual = 6.2947356e-09, No Iterations 1
GAMG: Solving for p, Initial residual = 6.2947357e-09, Final residual = 5.3997199e-09, No Iterations 1
time step continuity errors : sum local = 2.2085299e-12, global = -1.235274e-14, cumulative = -1.235274e-14
GAMG: Solving for p, Initial residual = 0.00042579075, Final residual = 6.799923e-07, No Iterations 18
GAMG: Solving for p, Initial residual = 6.8276997e-07, Final residual = 3.4979282e-07, No Iterations 2
GAMG: Solving for p, Initial residual = 3.4979502e-07, Final residual = 4.4957155e-07, No Iterations 1
GAMG: Solving for p, Initial residual = 4.4957317e-07, Final residual = 1.7811994e-07, No Iterations 1
GAMG: Solving for p, Initial residual = 1.7811995e-07, Final residual = 2.3859243e-07, No Iterations 1
GAMG: Solving for p, Initial residual = 2.3859265e-07, Final residual = 1.0548954e-07, No Iterations 1
time step continuity errors : sum local = 4.2982371e-11, global = 1.4702257e-12, cumulative = 1.457873e-12
GAMG: Solving for p, Initial residual = 1.6838792e-06, Final residual = 3.7831777e-07, No Iterations 1
GAMG: Solving for p, Initial residual = 3.7831779e-07, Final residual = 1.9088816e-07, No Iterations 1
GAMG: Solving for p, Initial residual = 1.9088818e-07, Final residual = 1.327703e-07, No Iterations 1
GAMG: Solving for p, Initial residual = 1.3277035e-07, Final residual = 1.8890371e-07, No Iterations 1
GAMG: Solving for p, Initial residual = 1.8890404e-07, Final residual = 6.6339991e-08, No Iterations 1
GAMG: Solving for p, Initial residual = 6.634e-08, Final residual = 6.251177e-08, No Iterations 1
time step continuity errors : sum local = 2.5470744e-11, global = 1.76502e-13, cumulative = 1.634375e-12
GAMG: Solving for p, Initial residual = 7.3911375e-08, Final residual = 3.0973103e-08, No Iterations 1
GAMG: Solving for p, Initial residual = 3.0973106e-08, Final residual = 5.3277076e-08, No Iterations 1
GAMG: Solving for p, Initial residual = 5.3277102e-08, Final residual = 2.0386644e-08, No Iterations 1
GAMG: Solving for p, Initial residual = 2.0386645e-08, Final residual = 4.5966831e-08, No Iterations 1
GAMG: Solving for p, Initial residual = 4.5966855e-08, Final residual = 1.1588281e-08, No Iterations 1
GAMG: Solving for p, Initial residual = 1.1588281e-08, Final residual = 2.2553517e-08, No Iterations 1
time step continuity errors : sum local = 9.1895337e-12, global = -5.7558645e-14, cumulative = 1.5768163e-12
GAMG: Solving for p, Initial residual = 2.2584174e-08, Final residual = 4.8397021e-09, No Iterations 1
GAMG: Solving for p, Initial residual = 4.8397022e-09, Final residual = 3.1206793e-09, No Iterations 1
GAMG: Solving for p, Initial residual = 3.1206793e-09, Final residual = 2.0437125e-09, No Iterations 1
GAMG: Solving for p, Initial residual = 2.0437125e-09, Final residual = 1.5647201e-09, No Iterations 1
GAMG: Solving for p, Initial residual = 1.5647201e-09, Final residual = 1.4686814e-09, No Iterations 1
GAMG: Solving for p, Initial residual = 1.4686815e-09, Final residual = 1.1018871e-09, No Iterations 1
time step continuity errors : sum local = 4.4897058e-13, global = 7.9299448e-15, cumulative = 1.5847463e-12
GAMG: Solving for p, Initial residual = 1.1044162e-09, Final residual = 1.1905828e-09, No Iterations 1
GAMG: Solving for p, Initial residual = 1.1905828e-09, Final residual = 7.7707878e-10, No Iterations 1
GAMG: Solving for p, Initial residual = 7.7707878e-10, Final residual = 1.0441364e-09, No Iterations 1
GAMG: Solving for p, Initial residual = 1.0441364e-09, Final residual = 5.3492362e-10, No Iterations 1
GAMG: Solving for p, Initial residual = 5.3492362e-10, Final residual = 1.005318e-09, No Iterations 1
GAMG: Solving for p, Initial residual = 1.005318e-09, Final residual = 3.6050043e-10, No Iterations 1
time step continuity errors : sum local = 1.4688803e-13, global = 2.6065635e-15, cumulative = 1.5873529e-12
GAMG: Solving for p, Initial residual = 3.5986553e-10, Final residual = 8.2919111e-10, No Iterations 1
GAMG: Solving for p, Initial residual = 8.2919112e-10, Final residual = 1.9064516e-10, No Iterations 1
GAMG: Solving for p, Initial residual = 1.9064516e-10, Final residual = 3.4202797e-10, No Iterations 1
GAMG: Solving for p, Initial residual = 3.4202797e-10, Final residual = 7.0492121e-11, No Iterations 1
GAMG: Solving for p, Initial residual = 7.0492121e-11, Final residual = 4.6203137e-11, No Iterations 1
GAMG: Solving for p, Initial residual = 4.6203137e-11, Final residual = 2.6207862e-11, No Iterations 1
time step continuity errors : sum local = 1.0682969e-14, global = 1.8848323e-16, cumulative = 1.5875413e-12
GAMG: Solving for p, Initial residual = 2.5974584e-11, Final residual = 2.9280769e-11, No Iterations 1
GAMG: Solving for p, Initial residual = 2.9280769e-11, Final residual = 1.7496057e-11, No Iterations 1
GAMG: Solving for p, Initial residual = 1.7496057e-11, Final residual = 2.6297426e-11, No Iterations 1
GAMG: Solving for p, Initial residual = 2.6297426e-11, Final residual = 1.1829165e-11, No Iterations 1
GAMG: Solving for p, Initial residual = 1.1829165e-11, Final residual = 2.4555155e-11, No Iterations 1
GAMG: Solving for p, Initial residual = 2.4555155e-11, Final residual = 7.4940828e-12, No Iterations 1
time step continuity errors : sum local = 3.0663851e-15, global = 4.3989014e-17, cumulative = 1.5875853e-12
GAMG: Solving for p, Initial residual = 7.4791718e-12, Final residual = 1.6194511e-11, No Iterations 1
GAMG: Solving for p, Initial residual = 1.6194511e-11, Final residual = 3.0673675e-12, No Iterations 1
GAMG: Solving for p, Initial residual = 3.0673675e-12, Final residual = 4.0309707e-12, No Iterations 1
GAMG: Solving for p, Initial residual = 4.0309707e-12, Final residual = 1.5195024e-12, No Iterations 1
GAMG: Solving for p, Initial residual = 1.5195024e-12, Final residual = 1.8218984e-12, No Iterations 1
GAMG: Solving for p, Initial residual = 1.8218984e-12, Final residual = 7.5119442e-13, No Iterations 1
time step continuity errors : sum local = 3.2627828e-16, global = 7.6036465e-18, cumulative = 1.5875929e-12
GAMG: Solving for p, Initial residual = 7.4683917e-13, Final residual = 1.3436279e-12, No Iterations 1
GAMG: Solving for p, Initial residual = 1.3436279e-12, Final residual = 6.3566923e-13, No Iterations 1
GAMG: Solving for p, Initial residual = 6.3566923e-13, Final residual = 7.06753e-13, No Iterations 1
GAMG: Solving for p, Initial residual = 7.06753e-13, Final residual = 4.6526135e-13, No Iterations 1
GAMG: Solving for p, Initial residual = 4.6526135e-13, Final residual = 4.0346705e-13, No Iterations 1
GAMG: Solving for p, Initial residual = 4.0346705e-13, Final residual = 3.8065994e-13, No Iterations 1
time step continuity errors : sum local = 1.7722797e-16, global = 3.0768669e-19, cumulative = 1.5875932e-12
Setting traction on side solid patch
Setting traction on tip solid patch
Total side traction force = (6.0240237e-06 3.2980641e-06 0)
Total side pressure = 1.0532179
Total tip traction force = (1.2242433e-05 7.473294e-08 0)
Total tip pressure = 0.052978445
Solving for DU, Initial residual = 1, Final residual = 9.8376088e-09, No outer iterations 128
Attached Files
File Type: h calcFsiResidual.H (3.8 KB, 7 views)
Sourabhsup is offline   Reply With Quote

Old   October 25, 2016, 17:08
Default
  #10
New Member
 
Sourabh Supanekar
Join Date: Jun 2015
Location: Stuttgart
Posts: 11
Rep Power: 11
Sourabhsup is on a distinguished road
It is working now. it was a typo in a code.
Sourabhsup is offline   Reply With Quote

Reply


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
diffusivity selection for modified displacementLaplacian solver for FSI problems zhaozhenkai OpenFOAM Running, Solving & CFD 2 November 11, 2016 06:41
Problems on implementing actuation disk on piso solver frankyux OpenFOAM Programming & Development 2 October 3, 2013 00:06
how to extend FSI 2D codes to 3D, need advises abouziar Main CFD Forum 1 May 30, 2008 05:08
Continuum-based solid code for FSI jinwon park Main CFD Forum 2 September 17, 2007 20:56
CFX 5.5 Roued CFX 1 October 2, 2001 17:49


All times are GMT -4. The time now is 08:41.