|
[Sponsors] |
[solidMechanics] Support thread for "Solid Mechanics Solvers added to OpenFOAM Extend" |
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
July 1, 2014, 12:06 |
solidSymmetry BC
|
#241 |
Senior Member
Markus Rehm
Join Date: Mar 2009
Location: Erlangen (Germany)
Posts: 184
Rep Power: 17 |
Hi,
I have trouble using the solidSymmetry BC. 0/U Code:
syml { type solidSymmetry; } Setting A symmetryPlane: const/polyMesh/boundary Code:
syml { type symmetryPlane; nFaces 100; startFace 37871; } 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; } 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 Regards, Markus. |
|
July 1, 2014, 13:54 |
|
#242 |
Super Moderator
Philip Cardiff
Join Date: Mar 2009
Location: Dublin, Ireland
Posts: 1,096
Rep Power: 34 |
Hi Markus,
0/U should look like this: Code:
syml { type solidSymmetry; patchType symmetryPlane; } Code:
syml { type symmetryPlane; nFaces 100; startFace 37871; } Philip |
|
July 2, 2014, 05:11 |
|
#243 |
Senior Member
Markus Rehm
Join Date: Mar 2009
Location: Erlangen (Germany)
Posts: 184
Rep Power: 17 |
Thanks Philip!
|
|
July 4, 2014, 09:54 |
|
#244 |
New Member
Petteri
Join Date: Feb 2014
Posts: 11
Rep Power: 12 |
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 |
|
July 8, 2014, 01:26 |
|
#245 | |
Member
Eric Bryant
Join Date: Sep 2013
Location: Texas
Posts: 44
Rep Power: 13 |
@ Petteri
Quote:
Plus, I dunno but you may find these posts on whichFace useful. Thanks Eric |
||
July 8, 2014, 04:07 |
|
#246 | |
New Member
Petteri
Join Date: Feb 2014
Posts: 11
Rep Power: 12 |
Quote:
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 |
||
July 8, 2014, 04:24 |
|
#247 | |
Super Moderator
Philip Cardiff
Join Date: Mar 2009
Location: Dublin, Ireland
Posts: 1,096
Rep Power: 34 |
Quote:
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 |
||
July 10, 2014, 21:09 |
some problems running in parallel
|
#248 |
New Member
Kanuk
Join Date: Oct 2010
Posts: 28
Rep Power: 16 |
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 |
|
July 12, 2014, 02:18 |
parallel FSI in discontinuous solid regions
|
#249 |
New Member
Kanuk
Join Date: Oct 2010
Posts: 28
Rep Power: 16 |
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 |
|
July 21, 2014, 09:27 |
problem with solid motion in FSI
|
#250 |
Member
|
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 |
|
July 22, 2014, 07:38 |
Constant piecewise reconstruction
|
#251 |
Member
|
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; } Thanks Jibran Last edited by Jibran; August 4, 2014 at 12:35. |
|
July 22, 2014, 08:28 |
|
#252 | |
Super Moderator
Philip Cardiff
Join Date: Mar 2009
Location: Dublin, Ireland
Posts: 1,096
Rep Power: 34 |
Quote:
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 |
||
July 22, 2014, 09:15 |
|
#253 | |
Member
|
Quote:
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, |
||
July 23, 2014, 07:49 |
Boundary Effect
|
#254 |
New Member
Join Date: Mar 2014
Posts: 23
Rep Power: 12 |
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. |
|
July 23, 2014, 08:17 |
freeRotation
|
#255 |
New Member
Join Date: Mar 2014
Posts: 23
Rep Power: 12 |
How can a freeRotation BC be created from the fixedRotation one, please?
Thanks. |
|
July 31, 2014, 11:31 |
local to global face zone point map is not correct
|
#256 |
New Member
Join Date: Jul 2014
Posts: 1
Rep Power: 0 |
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 |
|
July 31, 2014, 11:48 |
|
#257 | |
Super Moderator
Philip Cardiff
Join Date: Mar 2009
Location: Dublin, Ireland
Posts: 1,096
Rep Power: 34 |
Quote:
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 |
||
August 1, 2014, 04:39 |
|
#258 | |
New Member
Petteri
Join Date: Feb 2014
Posts: 11
Rep Power: 12 |
Quote:
Regards, Petteri |
||
August 1, 2014, 14:35 |
|
#259 | |
New Member
Kanuk
Join Date: Oct 2010
Posts: 28
Rep Power: 16 |
Quote:
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 |
||
August 1, 2014, 16:16 |
|
#260 |
New Member
Ireneusz Czajka
Join Date: Nov 2013
Posts: 6
Rep Power: 13 |
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.
|
|
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
GPU Linear Solvers for OpenFOAM | gocarts | OpenFOAM Announcements from Other Sources | 37 | August 17, 2022 15:22 |
[Virtualization] OpenFOAM oriented tutorial on using VMware Player - support thread | wyldckat | OpenFOAM Installation | 2 | July 11, 2012 17:01 |
New OpenFOAM Forum Structure | jola | OpenFOAM | 2 | October 19, 2011 07: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 07:25 |
OpenFOAM Debian packaging current status problems and TODOs | oseen | OpenFOAM Installation | 9 | August 26, 2007 14:50 |