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

[solidMechanics] Support thread for "Solid Mechanics Solvers added to OpenFOAM Extend"

Register Blogs Community New Posts Updated Threads Search

Like Tree134Likes

Closed Thread
 
LinkBack Thread Tools Search this Thread Display Modes
Old   July 1, 2014, 11:06
Default solidSymmetry BC
  #241
Senior Member
 
Markus Rehm
Join Date: Mar 2009
Location: Erlangen (Germany)
Posts: 184
Rep Power: 17
markusrehm is on a distinguished road
Hi,

I have trouble using the solidSymmetry BC.

0/U

Code:
syml
    {
        type            solidSymmetry;
    }
I tried the following setting (A,B):

Setting A symmetryPlane:

const/polyMesh/boundary

Code:
syml
    {
        type        symmetryPlane;
        nFaces          100;
        startFace       37871;
    }
Error:

Code:
Reading field U



--> FOAM FATAL IO ERROR: 
inconsistent patch and patchField types for field U
    patch type symmetryPlane and patchField type solidSymmetry

file: /home/mrehm/OpenFOAM/mrehm-extend-3.0/run/tutorials/solidMechanics/elasticThermalSolidFoam/flosse1/0/U::boundaryField::syml from line 26 to line 26.

    From function fvPatchField<Type>::New(const fvPatch&, const DimensionedField<Type, volMesh>&, const dictionary&)
    in file /home/mrehm/OpenFOAM/OpenFOAM-extend-3.0/src/finiteVolume/lnInclude/newFvPatchField.C at line 140.

FOAM exiting
--------------
Setting B Patch:

const/polyMesh/boundary

Code:
syml
    {
        type            patch; 
        nFaces          100;
        startFace       37871;
    }
Error:

Code:
Reading field U



--> FOAM FATAL IO ERROR: 

    patch type 'patch' not constraint type 'symmetryPlane'
    for patch syml of field U in file "/home/mrehm/OpenFOAM/mrehm-extend-3.0/run/tutorials/solidMechanics/elasticThermalSolidFoam/flosse1/0/U"

file: /home/mrehm/OpenFOAM/mrehm-extend-3.0/run/tutorials/solidMechanics/elasticThermalSolidFoam/flosse1/0/U::boundaryField::syml from line 26 to line 26.

    From function symmetryFvPatchField<Type>::symmetryFvPatchField
(
    const fvPatch& p,
    const Field<Type>& field,
    const dictionary& dict
)

    in file fields/fvPatchFields/constraint/symmetry/symmetryFvPatchField.C at line 99.

FOAM exiting
Any hints? Unfortunately I did not find an example in the tutorials. I use foam-extend-3.0.

Regards, Markus.
markusrehm is offline  

Old   July 1, 2014, 12:54
Default
  #242
Super Moderator
 
bigphil's Avatar
 
Philip Cardiff
Join Date: Mar 2009
Location: Dublin, Ireland
Posts: 1,089
Rep Power: 34
bigphil will become famous soon enoughbigphil will become famous soon enough
Hi Markus,

0/U should look like this:
Code:
syml
{
    type             solidSymmetry;
    patchType    symmetryPlane;
}
constant/polyMesh/boundary should look like this:
Code:
syml
{
    type        symmetryPlane;
    nFaces          100;
    startFace       37871;
}
Best regards,
Philip
kcavatar likes this.
bigphil is offline  

Old   July 2, 2014, 04:11
Default
  #243
Senior Member
 
Markus Rehm
Join Date: Mar 2009
Location: Erlangen (Germany)
Posts: 184
Rep Power: 17
markusrehm is on a distinguished road
Thanks Philip!
markusrehm is offline  

Old   July 4, 2014, 08:54
Default
  #244
New Member
 
Petteri
Join Date: Feb 2014
Posts: 11
Rep Power: 12
hamsteri15 is on a distinguished road
Thank you Phil, I found some very nice articles on UL approach and I think I now understand the basic principle of the code. However, now I have trouble understanding the interpolation procedure between the solid and fluid. I understand that the traction and pressure is set somehow using the zoneInterpolators created in zoneTozoneInterpolator.H. I assume that these "zones" are created for the possibility of using different resolution meshes at the interface. But on what basis are the zones created? Where can I find the definition whichFace() function?

Regards, Petteri
hamsteri15 is offline  

Old   July 8, 2014, 00:26
Default
  #245
Member
 
Eric Bryant
Join Date: Sep 2013
Location: Texas
Posts: 44
Rep Power: 12
codder is on a distinguished road
@ Petteri

Quote:
Originally Posted by hamsteri15 View Post
Thank you Phil, I found some very nice articles on UL approach and I think I now understand the basic principle of the code.
Could you recommenced the authors/titles of any of those "nice articles"? I would also like to understand the basic principles of the code!!

Plus, I dunno but you may find these posts on whichFace useful.

Thanks Eric
codder is offline  

Old   July 8, 2014, 03:07
Default
  #246
New Member
 
Petteri
Join Date: Feb 2014
Posts: 11
Rep Power: 12
hamsteri15 is on a distinguished road
Quote:
Could you recommenced the authors/titles of any of those "nice articles"? I would also like to understand the basic principles of the code!!

Plus, I dunno but you may find these posts on whichFace useful.

Thanks Eric
Sure!

Application of the finite volume method and unstructured
meshes to linear elasticity.
H. Jasak, H.G Weller. International journal for numerical methods in engineering (2000) || Summarizes the basics of finite volume method for solids very well.

Updated Lagrangian finite volume solver for large deformation dynamic response of elastic body. Z. Tukovic, H. Jasak. ISSN 1333–1124 (2007) || Very detailed description of the UL solid solver used in icoFsiElasticNonLinULSolidFoam. I found this article very useful.

On the mesh motion handling:
Automatic Mesh Motion for the Unstructured Finite Volume Method. H. Jasak, Z. Tukovic (2004)
Dynamic Mesh Handling in OpenFOAM. H. Jasak. AIAA (2009)

These slides may also be helpful:
http://www.tfd.chalmers.se/~hani/kur.../FSIslides.pdf

And as Philip mentioned, the UL approach is described in numerous solid mechanics books as well
codder likes this.
hamsteri15 is offline  

Old   July 8, 2014, 03:24
Default
  #247
Super Moderator
 
bigphil's Avatar
 
Philip Cardiff
Join Date: Mar 2009
Location: Dublin, Ireland
Posts: 1,089
Rep Power: 34
bigphil will become famous soon enoughbigphil will become famous soon enough
Quote:
Originally Posted by hamsteri15 View Post
Sure!

Application of the finite volume method and unstructured
meshes to linear elasticity.
H. Jasak, H.G Weller. International journal for numerical methods in engineering (2000) || Summarizes the basics of finite volume method for solids very well.

Updated Lagrangian finite volume solver for large deformation dynamic response of elastic body. Z. Tukovic, H. Jasak. ISSN 1333–1124 (2007) || Very detailed description of the UL solid solver used in icoFsiElasticNonLinULSolidFoam. I found this article very useful.

On the mesh motion handling:
Automatic Mesh Motion for the Unstructured Finite Volume Method. H. Jasak, Z. Tukovic (2004)
Dynamic Mesh Handling in OpenFOAM. H. Jasak. AIAA (2009)

These slides may also be helpful:
http://www.tfd.chalmers.se/~hani/kurser/OS_CFD_2009/FSIslides.pdf

And as Philip mentioned, the UL approach is described in numerous solid mechanics books as well
Yep, good references. I have also described UL approach for orthotropic elastic solids (elasticOrthoNonLinULSolidFoam) in this article:
P Cardiff, A Karac, A Ivankovic, A large strain finite volume method for orthotropic bodies with general material orientations, Computer Methods in Applied Mechanics and Engineering, 2014.

And also for isotropic linear elasticity in my thesis: P Cardiff, Development of the finite volume method for hip joint stress analysis, 2012.

Philip
codder likes this.
bigphil is offline  

Old   July 10, 2014, 20:09
Default some problems running in parallel
  #248
New Member
 
Kanuk
Join Date: Oct 2010
Posts: 27
Rep Power: 15
kanuk is on a distinguished road
Hello Dr. Cardiff,

I am having a few issues trying to get an unstructed 3D mesh from gmsh to run in parallel as the fluid portion of the FSI solver. Instead of posting the large files here however I think many of the errors can be duplicated with the Hron & Turek benchmark in 2D. So, here we go:

Obviously, running the tutorial case with 2 procs runs smoothly. But increasing this to 4 (simple (4 0 0)) causes a previously mentioned face ordering problem.
- If I change the "moveSolidMeshLeastSquares.H" to the one posted earlier in this thread, the problem persists, albeit sooner...
- If I change to the old inverseSquares "moveSolidMesh.H_old" from 1.6-ext one of the processes simply disappears and the solver simply hangs with no error messages until I forcedly kill it.

There has been mention of using "preservePatches" to keep the entire FSI boundary on one processor. This can work for 2 processors but with 4 the decomposition routine (or so I think) has trouble keeping all the neightbouring cells in one patch so it can't preserve the plate patch onto a single processor. And, especially for larger, 3D domains, this may not be possible.

Lastly, I have had some success by eliminating the decomposition in the solid entirely and linking all fluid processors to the solid. This seems to work much better - until mesh.update() is called, where, similar to the above, a few processors drop out and leave the FSI routine hanging.

I am still looking for a way to figure out how to do FSI with an arbitrary number of processors - any helps or hints, please do let me know. I suspect manual decomposition may be required, but I hope not.

Sorry for the verbosity, and thanks for your continued support to this thread.

Dave
kanuk is offline  

Old   July 12, 2014, 01:18
Default parallel FSI in discontinuous solid regions
  #249
New Member
 
Kanuk
Join Date: Oct 2010
Posts: 27
Rep Power: 15
kanuk is on a distinguished road
I can also confirm that the FSI solver hangs up on mesh.update() when there is a discontinuity in the FSI boundary between processors. I whipped up a small (non)-working example, attached, that seems to work alright in serial, while in parallel it hangs when the fluid mesh update is called...

I have no idea where the problem could be, but I'll be trying to look into the issue...

Thanks,
D
Attached Files
File Type: gz parallelFsiDiscontinuousInterface.tar.gz (70.0 KB, 27 views)
kanuk is offline  

Old   July 21, 2014, 08:27
Post problem with solid motion in FSI
  #250
Member
 
Arash Mahboubidoust
Join Date: Jun 2013
Location: Iran
Posts: 58
Rep Power: 12
arashfluid is on a distinguished road
Send a message via Yahoo to arashfluid
Hello Dr. Cardiff,
I’m using icoFsiElasticNonLinULSolidFoam solver in OF-1.6-ext to solve pitching and plunging motion of 2D airfoil problem.Furthermore, I have performed a few tests using pimpleFsiFoam developed by Charbel Habchi. However, I’ve not seen any differences between them. In order to impose pitching and plunging motion on the wing, I have used dynamicBodyFvMesh solver in dynamicMeshDict dictionary in the fluid region. In those aforementioned solvers, there are no options to set motion on wingsolid, hence I have applied the motion on the fluid side. In this situation, solid and fluid patches do not follow each other.In other words,wingsolid and wingfluid,each of them moves separately and do not affect each other.The question is how can I set the motion on the solid side?

Thanks
arashfluid is offline  

Old   July 22, 2014, 06:38
Default Constant piecewise reconstruction
  #251
Member
 
Jibran
Join Date: Oct 2012
Location: UK
Posts: 61
Blog Entries: 1
Rep Power: 14
Jibran is on a distinguished road
Dear Philip,

I am interested in obtaining OpenFOAM results using constant piecewise reconstruction rather than a linear interpolation as in the tutorials. Take for example the plate hole tutorial of the elasticSolidFoam solver. I know that I need to modify the fvSchemes dictionary but was unsuccessful in specifying a constant piecewise reconstruction. I tried the upwind scheme but failed since a surfaceScalarField is required for that. The fvSchemes dictionary in the tutorial looks like this:

Code:
d2dt2Schemes
{
    default     steadyState;
}

gradSchemes
{
    default         none;
    grad(U)         leastSquares 0;
    //grad(U)         extendedLeastSquares 0;
    snGradCorr(U)   leastSquares 0;
}

divSchemes
{
    default         none;
    div(sigma)      Gauss skewCorrected linear;
}

laplacianSchemes
{
    default         none;
    laplacian(DU,U) Gauss harmonic corrected;
}

snGradSchemes
{
    snGrad(U)       corrected;
}

interpolationSchemes
{
    default                  linear;
    interpolate(sigma)       linear;
    interpolate(muLambda)    harmonic;
}
I would appreciate any help in this regard.

Thanks
Jibran

Last edited by Jibran; August 4, 2014 at 11:35.
Jibran is offline  

Old   July 22, 2014, 07:28
Default
  #252
Super Moderator
 
bigphil's Avatar
 
Philip Cardiff
Join Date: Mar 2009
Location: Dublin, Ireland
Posts: 1,089
Rep Power: 34
bigphil will become famous soon enoughbigphil will become famous soon enough
Quote:
Originally Posted by arashfluid View Post
Hello Dr. Cardiff,
I’m using icoFsiElasticNonLinULSolidFoam solver in OF-1.6-ext to solve pitching and plunging motion of 2D airfoil problem.Furthermore, I have performed a few tests using pimpleFsiFoam developed by Charbel Habchi. However, I’ve not seen any differences between them. In order to impose pitching and plunging motion on the wing, I have used dynamicBodyFvMesh solver in dynamicMeshDict dictionary in the fluid region. In those aforementioned solvers, there are no options to set motion on wingsolid, hence I have applied the motion on the fluid side. In this situation, solid and fluid patches do not follow each other.In other words,wingsolid and wingfluid,each of them moves separately and do not affect each other.The question is how can I set the motion on the solid side?

Thanks
Hi,

The motion of the FSI interface patch (i.e. the patch where the fluid is in contact with the deformable solid) is governed by the fluid flow and the other boundary conditions on the solid patches which are not in contact with the fluid.
So you should not specify another boundary condition on the FSI patch, otherwise the solid and fluid will not be coupled.

I am not sure exactly what you are trying to achieve, but you could impose time varying displacements on the solid patch of the wing where it would be attached to the aircraft fuselage.

Philip
bigphil is offline  

Old   July 22, 2014, 08:15
Post
  #253
Member
 
Arash Mahboubidoust
Join Date: Jun 2013
Location: Iran
Posts: 58
Rep Power: 12
arashfluid is on a distinguished road
Send a message via Yahoo to arashfluid
Quote:
Originally Posted by bigphil View Post
Hi,

The motion of the FSI interface patch (i.e. the patch where the fluid is in contact with the deformable solid) is governed by the fluid flow and the other boundary conditions on the solid patches which are not in contact with the fluid.
So you should not specify another boundary condition on the FSI patch, otherwise the solid and fluid will not be coupled.

I am not sure exactly what you are trying to achieve, but you could impose time varying displacements on the solid patch of the wing where it would be attached to the aircraft fuselage.

Philip
Hi
I'm sorry for the many questions.
I want to validate FSI simulations of a flexible flapping plate ( airfoil) with M.Olivier paper (A Fluid Structure Interaction Solver for Nano-Air-Vehicle Flapping Wings- http://enu.kz/repository/2009/AIAA-2009-3676.pdf). I'm using icoFsiElasticNonLin.... solver for this simulation.I impose plunging motion with dynamicBodyFvMesh or other finite volume classes of dynamic mesh.As shown in the figure below, solid and fluid patches do not follow each other. How do I make this motion in FSI solver?

thanks,
Attached Images
File Type: jpg flappingplate.jpg (66.3 KB, 62 views)
arashfluid is offline  

Old   July 23, 2014, 06:49
Default Boundary Effect
  #254
New Member
 
Join Date: Mar 2014
Posts: 23
Rep Power: 12
Brayanashel is on a distinguished road
Hi,

When a cantilever beam is modeled the stress distribution along the clamped section is not like the analytical one near the top and bottom walls, as shown in attachment. However this jump of stress is removed in 0.0003 mm far from the clamped boundary.

Why is there such stress jump along the clamped section, please?
How can this jump be removed?

Thanks.
Attached Files
File Type: docx Normal Stress.docx (17.6 KB, 18 views)
Brayanashel is offline  

Old   July 23, 2014, 07:17
Default freeRotation
  #255
New Member
 
Join Date: Mar 2014
Posts: 23
Rep Power: 12
Brayanashel is on a distinguished road
How can a freeRotation BC be created from the fixedRotation one, please?

Thanks.
Brayanashel is offline  

Old   July 31, 2014, 10:31
Default local to global face zone point map is not correct
  #256
New Member
 
Join Date: Jul 2014
Posts: 1
Rep Power: 0
Maya is on a distinguished road
Hello,

I am trying to simulate with elasticNonLinULSolidFoam. Starting the simulation everything works until findGlobalFaceZones.h. Here I get the error : "local to global face zone point map is not correct". What does this mean and how can I solve this problem? Do I have to remesh my model?

Thx!
Maya
Maya is offline  

Old   July 31, 2014, 10:48
Default
  #257
Super Moderator
 
bigphil's Avatar
 
Philip Cardiff
Join Date: Mar 2009
Location: Dublin, Ireland
Posts: 1,089
Rep Power: 34
bigphil will become famous soon enoughbigphil will become famous soon enough
Quote:
Originally Posted by Maya View Post
Hello,

I am trying to simulate with elasticNonLinULSolidFoam. Starting the simulation everything works until findGlobalFaceZones.h. Here I get the error : "local to global face zone point map is not correct". What does this mean and how can I solve this problem? Do I have to remesh my model?

Thx!
Maya
Hi Maya,

findGlobalFaceZones.H tries to find the map between the mesh faceZones and local processor faces, in particular for globalFaceZones used in contact simulations.

What are you simulating, are you using contact boundaries? Maybe you have old invalid faceZones in your mesh? You could delete you mesh faceZones if there are not needed:
Code:
rm constant/polyMesh/faceZones
Philip
bigphil is offline  

Old   August 1, 2014, 03:39
Default
  #258
New Member
 
Petteri
Join Date: Feb 2014
Posts: 11
Rep Power: 12
hamsteri15 is on a distinguished road
Quote:
Originally Posted by kanuk View Post
Hello Dr. Cardiff,

I am having a few issues trying to get an unstructed 3D mesh from gmsh to run in parallel as the fluid portion of the FSI solver. Instead of posting the large files here however I think many of the errors can be duplicated with the Hron & Turek benchmark in 2D. So, here we go:...

Dave
I had the same problem and after a week of trying different meshes, I ended up running my case on a very coarse fluid mesh with a single processor. If you manage to solve the problem, will you please post the solution to this thread?

Regards,
Petteri
hamsteri15 is offline  

Old   August 1, 2014, 13:35
Default
  #259
New Member
 
Kanuk
Join Date: Oct 2010
Posts: 27
Rep Power: 15
kanuk is on a distinguished road
Quote:
I had the same problem and after a week of trying different meshes, I ended up running my case on a very coarse fluid mesh with a single processor. If you manage to solve the problem, will you please post the solution to this thread?

Regards,
Petteri

Hi Petteri,

I must admit after spending a some time on this issues I have gone the way of a serial computation as well... My level of knowledge of OF isn't quite there yet to fix the problem at this point I'm afraid. If I do figure out a workaround I'll be sure to post it.

good luck!
Dave
kanuk is offline  

Old   August 1, 2014, 15:16
Default
  #260
New Member
 
Ireneusz Czajka
Join Date: Nov 2013
Posts: 6
Rep Power: 12
iczajka is on a distinguished road
Quote:
Originally Posted by hamsteri15 View Post
I had the same problem and after a week of trying different meshes, I ended up running my case on a very coarse fluid mesh with a single processor. If you manage to solve the problem, will you please post the solution to this thread?

Regards,
Petteri
I had similar problem when there were displacements. In my opinion it was because of very fast tet mesh degeneration. So, after big work I was using blockMesh with success. And now it works like a charm.
iczajka is offline  

Closed Thread


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
GPU Linear Solvers for OpenFOAM gocarts OpenFOAM Announcements from Other Sources 37 August 17, 2022 14:22
[Virtualization] OpenFOAM oriented tutorial on using VMware Player - support thread wyldckat OpenFOAM Installation 2 July 11, 2012 16:01
New OpenFOAM Forum Structure jola OpenFOAM 2 October 19, 2011 06:55
Cross-compiling OpenFOAM 1.7.0 on Linux for Windows 32 and 64bits with Mingw-w64 wyldckat OpenFOAM Announcements from Other Sources 3 September 8, 2010 06:25
OpenFOAM Debian packaging current status problems and TODOs oseen OpenFOAM Installation 9 August 26, 2007 13:50


All times are GMT -4. The time now is 20:45.