1 Attachment(s)
Quote:
I was aware of this issue with certain meshes, but I finally got around to looking at it and hopefully it is now solved with the attached detachFaceCracker.C. Try is out and let me know. Best regards, Philip |
Stress & Displacement Errors
1 Attachment(s)
Hi,
A thin beam has been modeled by plane strain problem. When the number of cells along the thickness increases there is some error increasing in the simulation but by increasing number of cells along the length there is decreasing in the error, as shown in attached figures. Why does increasing cell numbers along the thickness cause an increasing in the error, please? Thank you. |
Quote:
Using the finite volume method in its current linear form, large aspect ratio cells act stiffer in bending. So if you have long skinny cells along the length of the beam then it will act more stiff in bending than it should be. This behaviour can also occur in finite elements. I think someone has noted this earlier in this thread. Philip |
Quote:
To my eyes, the problem is gone. A big thanks for your bug fix. A second big thanks to the continued generosity of the UCD lab for releasing the code. Best, Eric |
Quote:
You could try this case with a total displacement solver such as elasticNonLinTLSolidFoam instead of the incremental displacement solver and see how it compares. There are only a few changes to the case required: change all BCs with "nonLinear updatedLagrangian" to "nonLinear totalLagrangian"; and also change all "DU" to "U" in fvSchemes/fvSolution. Best regards, Philip |
Hi Philip,
unfortunately there are no improvements using the total lagrangian solver. For the same time-step TL and UL give different behaviour. All the simulations use backward scheme and DU tolerance = 1e-09. https://drive.google.com/file/d/0B1d...it?usp=sharing https://drive.google.com/file/d/0B1d...it?usp=sharing At least all the total lagrange simulations converge (with different modes) towards the steady state solution ...but now where the dissipation/dumping comes from? https://drive.google.com/file/d/0B1d...it?usp=sharing Best regards Giamp |
Quote:
for the TL simulations using the backward scheme, did you modify the temporal term in the solver to be rho*d2dt2(U) instead of d2dt2(rho, U)? Philip |
Hi Philip,
also with the temporal term rho*fvm::d2dt2(U) the solution is damped :( https://drive.google.com/file/d/0B1d...it?usp=sharing decreasing the time step, even if dumped, at least the solution seems to not change anymore https://drive.google.com/file/d/0B1d...it?usp=sharing but unfortunately at some some it crashes these are the last lines from the log of DeltaT=3.125e-4 Code:
Time 1.87156, Corrector 9992, Solving for U using DICPCG, residual = 3.70566e-05, relative residual = 2.45566, inner iterations 9 https://drive.google.com/file/d/0B1d...it?usp=sharing Best regards, Giamp |
Hi Giamp,
Hmnnn for transient analysis the beam should never reach steady-state, can you check if a small bug-fix in TL solver makes a difference: in writeFields.H, change this: Code:
rho = rho/J; Code:
//rho = rho/J; Philip |
good! with the bug-fix, the beam keeps oscillating
https://drive.google.com/file/d/0B1d...it?usp=sharing but still, decreasing the time-step, at some point the solutions are different. ElasticSolidFoam keeps oscillating but crashes when decreasing the time-step https://drive.google.com/file/d/0B1d...it?usp=sharing |
Hi Dr. Cardiff
Have you ever tried the FSI solver using velocityLaplacian mesh motion solver in parallel? I am facing an error: Code:
Constructing processor meshes Best wishes |
Hi Philip,
I'm trying to modify the solver elasticNonULSolidFoam using an incompressible Mooney-Rivlin hyperelastic model. From the strain energy function W = c1*(tr(C) - 3) + c2*(0.5*((tr(C))^2 - tr(C^2)) -3) I derived the second Piola-Kirchhoff stress tensor in its incremental form DSigma = 2*c1*I + 2*c2*tr(C)*I - 2*c2*C - p*inv(C) where C is the right Cauchy-Green deformation tensor (C=F.T() & F), and c1+c2=mu/2 Following http://powerlab.fsb.hr/ped/kturbo/Op...tressPaper.pdf and http://powerlab.fsb.hr/ped/kturbo/op...18-06-2007.pdf I came up with the following Updated lagrangian momentum equation (neglecting the pressure term) rho*fvm::d2dt2(DU) == - fvm::laplacian(2*c2, DU, "laplacian(DDU,DU)") + fvc::div ( 4*c2*tr(gradDU)*I + 2*c2*(gradDU.T()), "div(sigma)" ) + fvc::div ( 2*c2*(I*tr(gradDU.T() & gradDU)) - 2*c2*(gradDU.T() & gradDU) + ((sigma + DSigma) & gradDU), "div(sigma)" ) Basically in elasticNonLinULSolidFoam I changed only the momentum equation and DSigma (neglecting the pressure term for now). I calculated C as C = (2*DEpsilon + I) and used c1=0.4375*mu and c2=0.0625*mu. I tried to run a steady state simulation with this solver with a case which works fine with elasticNonLinULSolidFoam, but unfortunately the simulation crashes Code:
Time 0.0001, Corrector 61, Solving for DU using GAMG, res = 0.786476, rel res = 0.117896, inner iters 1 Any suggestion to make it work? About the pressure term, since that should be an arbitrary pressure, does assuming p=0 make sense? ...or the problem might come from this assumption? Thank you very much! |
Hi Giampaolo,
See this paper by Bijelonja et al, they develop the mathematical model for an incompressible Mooney-Rivlin material using a large strain total Lagrangian approach. They use the SIMPLE algorithm to couple the pressure term, just like in fluids. So essentially merge elasticNonLinTLSolidFoam and simpleFoam and change calculation of stress in terms of Mooney-Rivlin. Also traction boundary gradient method must be changed. Let me know how it goes, I previously looked at creating a solid solver for incompressible materials using SIMPLE/PISO coupling and I had problems with traction boundary conditions, but it is possible as the authors above have achieved it using cell-centred Finite Volume method. Good luck, By the way, as regards the time-step defence of the oscillating membrane problem, I am not sure what the issue is, I suppose a more accurate time discretisation (e.g. Newmark, Crank-Nicholson, etc.) would help but I am not sure. Philip |
MesquiteMotionSolver with icoFsiElasticNonLinULSolidFoam
@Philip
I wanted to remesh the deformed part of the mesh while using icoFsiElasticNonLinULSolidFoam but when i used dynamicTopoFvMesh along with mesquiteMotionSolver I got this error msg!!! --> FOAM FATAL ERROR: Problem with mesh motion solver selection From function icoFsiElasticNonLinULSolidFoam in file moveFluidMesh.H at line 140. FOAM aborting Aborted (core dumped) and when I forced the moveFluidMesh.H to use the given motion solver, it reported an error msg.: --> FOAM FATAL ERROR: request for tetPointVectorField motionU from objectRegistry region0 failed available objects of type tetPointVectorField are 0 ( ) From function objectRegistry::lookupObject<Type>(const word&) const in file /home/a/foam/foam-extend-3.0/src/foam/lnInclude/objectRegistryTemplates.C at line 139. FOAM aborting can I know where the problem is? and what should I do to solve this issue? regards, MA |
Dual BC
Hi,
How can a traction and displacement BCs be applied simultaneously in a face, please? For example, having tractionDisplacement and slip types BC in the same time in a face. Thanks. |
Quote:
Philip |
Dual BC
1 Attachment(s)
Actually there are shear and displacement in a single face, as shown in the left BC in attachment.
|
Quote:
there are 'frictionless' rollers on the left which implies there is zero shear? And there is a fixed point at the centre of the left boundary. If this is the case, then you would split the left boundary so as there is a thin fixedDisplacement boundary for the fixed part and fixedDisplacementZeroShear for the other parts. Philip |
Dual BC
Please look at the paper in attachment. I would like to know how beams D and E in Fig. 2 on page 2 can be modeled by stressedFoam. Applying the left dual BCs is my question.
Thanks. |
Quote:
|
All times are GMT -4. The time now is 12:24. |