|
[Sponsors] |
[solidMechanics] Support thread for "Solid Mechanics Solvers added to OpenFOAM Extend" |
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
February 27, 2019, 09:46 |
|
#421 |
New Member
Duo Huang
Join Date: Nov 2018
Posts: 5
Rep Power: 7 |
Hi Phil,
The case is attached. Thanks so much for your time. Duo |
|
March 3, 2019, 17:31 |
Extend Bazaar FSI and RBF
|
#422 |
New Member
Jonthan Cappola
Join Date: Apr 2018
Posts: 8
Rep Power: 8 |
Hi All,
I'm using the foam-extend 4.0 bazaar to do FSI on flexible airfoils and I am having some trouble with mesh motion. It seems that the fsiFoam solver has only been implemented with RBF point interpolation and while RBFMeshMotionSolver is in the library, fsiFoam refuses to use it when I patch it into the dynamicMeshDict. After the first time step's solid predictor I get the following error when the cell motion step occurs: Code:
--> FOAM FATAL ERROR: Problem with fluid mesh motion solver selection From function fluidSolidInterface::moveFluidMesh() in file fluidSolidInterface/fluidSolidInterface.C at line 1922. FOAM aborting Thanks, Jon |
|
March 5, 2019, 05:23 |
|
#423 |
Super Moderator
Philip Cardiff
Join Date: Mar 2009
Location: Dublin, Ireland
Posts: 1,091
Rep Power: 34 |
||
March 7, 2019, 11:25 |
|
#424 |
New Member
nima
Join Date: Feb 2018
Posts: 3
Rep Power: 8 |
hi
i want using of Mooney-Rivlin hyperelastic model. i can use icoFsiElasticNonLinULSolidFoam for this model? regards, nima |
|
March 8, 2019, 06:27 |
|
#425 | |
Super Moderator
Philip Cardiff
Join Date: Mar 2009
Location: Dublin, Ireland
Posts: 1,091
Rep Power: 34 |
Quote:
Mooney-Rivlin is not currently implemented but it can be implemented, either directly in icoFsiElasticNonLinULSolidFoam or it may be more convenient in solids4foam (PM me if you want access). Philip Edit: compressible neo-Hookean is implemented in solids4foam is that is good enough. Last edited by bigphil; March 8, 2019 at 06:28. Reason: Add note at bottom |
||
March 8, 2019, 11:30 |
|
#426 | |
New Member
nima
Join Date: Feb 2018
Posts: 3
Rep Power: 8 |
Quote:
thanks for your answer, i want use Mooney-Rivlin assumed to be hyperelastic, isotropic, incompressible and homogeneous. where the strain energy density function assumes the form: w=C1(I1-3)+C2(I2-3)+D1[(e^(D2(I1-3)))-1] how can i implemented this model in icoFsiElasticNonLinULSolidFoam or in solids4foam. thanks, nima note:i use foam-extend-3.2. |
||
March 11, 2019, 05:32 |
|
#427 |
Super Moderator
Philip Cardiff
Join Date: Mar 2009
Location: Dublin, Ireland
Posts: 1,091
Rep Power: 34 |
Hi nima,
To implement a new constitutive law, you need to find a procedure/algorithm to calculate the stress tensor (e.g. Cauchy, 1st/2nd Piola Kirchhoff) from the deformation gradient. Once you have this procedure, you can code this into foam e.g. copy and rename the neo-Hookean hyperelastic mechanical law in solids4foam and then insert the new code for calculating the stress tensor in the "correct()" function. Philip |
|
March 11, 2019, 12:26 |
|
#428 | |
New Member
Join Date: Mar 2017
Posts: 15
Rep Power: 9 |
Quote:
Hello, I'm currently trying to simulate a rotating beam with FSI. The rotation is forced on one face of the solid, using timeVaryingFixedRotation while the others are considered as "FSI interface". The fluid mesh at the interface follows quite well the structure mesh on the FSI interface patches. Yet, I still haven't managed a way to make the fluid mesh follow the solid one on the face where the rotation is forced. plaquemeshrotation1.jpg On the picture, the red face is where I force the rotation. As you can see, the fluid grid (white wireframe) doesn't follow the solid one on this specific face. I have some questions: - Did someone make something similar ? - Is it possible to force a specific displacement/rotation on a surface patch of the fluid mesh ? And how ? Any idea or hint is welcomed ! I can provide my case if I wasn't clear enough... Regards, Paul |
||
March 12, 2019, 06:53 |
|
#429 | |
New Member
nima
Join Date: Feb 2018
Posts: 3
Rep Power: 8 |
Quote:
i use Cauchy method to calculate the stress tensor. how can i obtian solid4foam for foam-extend-3.2? thanks for your answer, nima |
||
March 13, 2019, 11:23 |
|
#430 | |
Super Moderator
Philip Cardiff
Join Date: Mar 2009
Location: Dublin, Ireland
Posts: 1,091
Rep Power: 34 |
Quote:
It seems like you need a suitable rotation fluid mesh motion boundary condition. I suggest you have a look through the tutorials for the different types of fluid mesh motion (motionU/pointMotionU fields) boundary conditions used. Philip |
||
March 13, 2019, 11:26 |
|
#431 | |
Super Moderator
Philip Cardiff
Join Date: Mar 2009
Location: Dublin, Ireland
Posts: 1,091
Rep Power: 34 |
Quote:
PM me your email address and I can share solids4foam with you; the latest master and development branches compile with foam-extend-4.0 and foam-extend-4.1, though there is also a deprecated foam-extend-3.2 branch. Philip |
||
March 19, 2019, 11:53 |
|
#432 | |
New Member
Join Date: Mar 2017
Posts: 15
Rep Power: 9 |
Quote:
Hi Philip, First of all, thank you for taking time to answer. I went through tutorials for the different fluid mesh motion, and I have found that I need something like angularOscillatingDisplacement. However, all of the examples are realized with dynamicTopoFvMesh and mesquiteMotionSolver. Is there a way to make it work with dynamicMotionSolverFvMesh and a "more classic" solver such as velocityLaplacian (as I heard mesquiteMotionSolver can be really tricky with FSI simulations) ? I thing I'm missing something, but for now I haven't managed to make it work. The log.decomposePar sends me this: Code:
--> FOAM FATAL IO ERROR: Unknown patchField type angularOscillatingDisplacement for patch type wall Valid patchField types are : 16 ( calculated cyclic empty fixedValue generic global mixed oscillatingFixedValue processor slip symmetryPlane timeVaryingUniformFixedValue uniformFixedValue value wedge zeroGradient ) Paul |
||
March 19, 2019, 16:45 |
Re: paulbr BCs
|
#433 |
New Member
Jonthan Cappola
Join Date: Apr 2018
Posts: 8
Rep Power: 8 |
Hi Paul,
There is a way to make what you want working with dynamicMotionSolverFvMesh it just requires a little bit of coding. If you could provide some more context about your case setup regarding the geometry and how you want to move things we can figure it out. Also, if you are using fe32 for your simulations still, I have some old code (including an old rotatingBC written by Dr. Cardiff) that might just solve your problem. Regards, Jon |
|
March 20, 2019, 08:04 |
|
#434 | |
New Member
Join Date: Mar 2017
Posts: 15
Rep Power: 9 |
Quote:
Hi Jonthan, Thank you for your answer! I’ll have a look at this rotating BC in fe32. I’m currently using fe40. My case is as follow:
For now, the fluid mesh (white wireframe in plaquemeshrotation1.jpg) at the fluid structure interface precisely follows the solid mesh (bleu in plaquemeshrotation1.jpg) displacement except on the fluid nodes corresponding to the solid red face. They are not moving which is not surprising because they are not marked as “FSI interface”. To overcome this problem, I think the easiest way is to force the displacement (which is known as it is the same as the solid one) of these nodes. I can't provide my case here, even with coarse meshes, as my meshes are generated with ICEM... I sent you a private message. Regards, Paul |
||
March 20, 2019, 14:23 |
|
#435 |
Member
Mike Tree
Join Date: Feb 2016
Location: Charlotte, NC
Posts: 37
Rep Power: 10 |
Philip,
You recently provided me a copy of solids4foam that I'm running with foam-extend 4.1 (thanks again, by the way). I'm attempting to run the HronTurekFsi3 tutorial and am repeatedly met by a FOAM Warning that the NeoHookeanElastic model is enforcing material linearity for stability. The first few time steps that this warning occurs it eventually disappears, but at Time = 3.264 I'm seeing my fsi iterations not converging (50 fsi iterations was max). The subsequent time step (Time = 3.265) pops the enforced linearity warning again and by the 17th fsi iteration within Time = 3.265 everything comes to a crashing halt. My current thinking is that I could start from a previous time step (Time = 3.2, for example) and decrease the time step size such that the burden on the fsi coupling is decreased and maybe Time = 3.264 will converge. I could also play with the fsi under-relaxation factors/algorithms. Unfortunately, when I attempt to restart this simulation from a previous time step, I'm met with another error: Code:
--> FOAM FATAL ERROR: Master point addressing is not correct From function GGIInterpolation::masterToSlavePointInterpolate(constField<Type> pf) in file /beegfs/users/mtree/foam/foam-extend-4.1/src/foam/lnInclude/GGIInterpolation.C at line 492 FOAM aborting Am I interpreting what's happening in the original solids4Foam solve correctly? Is my strategy sound? What am I doing wrong when I'm attempting a restart from Time = 3.2? Do you need any more information to help me realize my mistake? Any help is appreciated. Thanks! |
|
March 26, 2019, 04:59 |
Rectangular Tank with visco-elastic solid
|
#436 |
New Member
Sri Nivas Chandrasekaran
Join Date: Feb 2019
Posts: 6
Rep Power: 7 |
Hi,
I am new to openFoam. I want to compare the shear stress (wall and fluid/solid) that occurs when a rectangular tank undergoes linear oscillation (in vertical or z-direction). I was able to do that for the case when the fluid is inside the tank using tutorial 'sloshingTank3D' under the section multiphase with little modification. But when I need to solve for viscoelastic solid inside the tank (collagen in my case), I am not sure where/how to start. I am using openFoam ext 4.0. The purpose is to calculate the shear stress that occurs when cancer cells inside the cell well are subjected to oscillatory mechanical vibration (20 Hz to 90 Hz) in the vertical direction with substrates like cell medium and collagen. Cell medium is similar to water. Any input/help is appreciated. Thanks! (I created a separate thread for it already. Then I saw this is the support thread for solidMechanics. So posting it here also.) |
|
March 26, 2019, 08:47 |
|
#437 |
Super Moderator
Philip Cardiff
Join Date: Mar 2009
Location: Dublin, Ireland
Posts: 1,091
Rep Power: 34 |
Hi Mike,
For the restart error: Code:
--> FOAM FATAL ERROR: Master point addressing is not correct From function GGIInterpolation::masterToSlavePointInterpolate(constField<Type> pf) in file /beegfs/users/mtree/foam/foam-extend-4.1/src/foam/lnInclude/GGIInterpolation.C at line 492 FOAM aborting As regards the warning "enforcing material linearity for stability", this indicates that the solid model is struggling to converge. Possibly, under-relaxation (in fvSolution for the D field and/or equation) may help. Philip |
|
March 26, 2019, 09:47 |
|
#438 |
Member
Mike Tree
Join Date: Feb 2016
Location: Charlotte, NC
Posts: 37
Rep Power: 10 |
Phil,
I pulled from the development branch and can confirm that restarting now works. I'll play around with the under-relaxation and/or time step from here. Thanks! |
|
April 27, 2019, 16:53 |
|
#439 |
New Member
Join Date: Oct 2018
Location: Germany
Posts: 5
Rep Power: 7 |
Hi,
I´m doing a FSI on cylinders. Already made it work with one cylinder. Both fluid and solid meshes were created with sHM. Now I want to simulate it with 4 cylinders. sHM can´t create a solidmesh with unconnected cylinders...I think. Forum. Or at least I didn´t find out how to do it yet. Ironically the simulation in the link is running for some time, even though there is only one meshed solid cylinder out of 4: Anyway my workaround was to create the solid mesh with blockMesh. So the fluidmesh is created with sHM and a solidmesh with blockMesh only. checkMesh says "ok" and the fluid mesh is running without issue as CFD. But now the simulation stops after: Code:
Reading coupling properties Create fluid-to-solid and solid-to-fluid interpolators Check fluid-to-solid and solid-to-fluid interpolators Code:
Running icoFsiElasticNonLinULSolidFoam on /pfs/data2/home/st/st_st/st_st140927/run/extend-4.0/Version_14/v14_vierzylinder/fluid /opt/bwhpc/common/cae/openfoam/4.0-ext/foam-extend-4.0/bin/tools/RunFunctions: Zeile 37: 118116 Speicherzugriffsfehler $APP_RUN $* > $LOG_NAME 2>&1 Do you have any idea what went wrong? Many thanks for your help in advance. File of the case is attached. Using extend-4.0 for the simulation with icoFsiElasticNonLinULSolidFoam solver. Things on my mind about this error: I already checked if the error is because of the 4 unconnected solid cylinders. But it even crashes when I create a one cylinder case with sHM fluid and blockMesh solid. So maybe there is the problem? Used 4.0-ext for creating the fluid mesh and 4.x for the solid mesh. Can using different Version of OpenFOAM be the reason for the error? (Had to use 4.x for the solid mesh because with 4.0-ext one of the cylinders had non-ortho..with 4.x all cylinders we´re fine) But the error is the same if I use 4.0-ext for creating fluid and solid mesh. (even if the non-ortho cylinder is left out - then it should at least run for some time steps as before with only 1 out of 4 solid cylinders). (Edit* used 4.x to create both meshes and still have the same error. So using different versions for mesh creation was not the reason for the error) Summarizing unconnected patches under one patch could cause issues or unrealistic results. But my predecessor (using blockMesh for fluid and solid in 3.2-ext) had at least a running simulation. Also there is no way I´m allowed to edit the source code of 4.0-ext on the cluster I´m using. (Which is required to implement the changes Phil proposed in 2016) Last edited by Goddi; April 28, 2019 at 14:12. |
|
May 2, 2019, 05:04 |
|
#440 |
Super Moderator
Philip Cardiff
Join Date: Mar 2009
Location: Dublin, Ireland
Posts: 1,091
Rep Power: 34 |
Hi Goddi,
I am not sure why you are receiving a memory error; if the mesh is valid, then it suggests a problem in the code. Multiple solid unconnected solid meshes should not be a problem. You may like to try the case in solids4foam (PM me your email and I will share it), to see if the issue is related to some bug that has been fixed. By the way, you could use snappyHexMesh for four solid meshes by creating four cases, where each case will create a mesh of a different cylinder; then use mergeMeshes to merge all four meshes into one solid mesh. Philip |
|
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 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 |