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

LinkBack  Thread Tools  Search this Thread  Display Modes 
March 26, 2014, 10:42 
Stress Residual

#181 
New Member
Join Date: Mar 2014
Posts: 23
Rep Power: 12 
Philip,
How can stress residual be added beside displacement residual to see it by pyFoamPlotWatcher? 

March 26, 2014, 11:38 
Erosion modelling

#182 
New Member
i.schiavi
Join Date: Jan 2014
Posts: 11
Rep Power: 12 
hello
a quick search throughout the OpenFoam threads show some people as me wanting to use OpenFoam to simulate erosion (and particularly erosion rate, rather than "simply" movement of particles in a flow (gaseous, in my case), but basically no many suggestions as to how to proceed. I guess perhaps OpenFOAM does not have yet the right tools. Am I correct? Is there something in the pipeline with regards to flowsolid interactions? I understand ANSYS FLUENT could be used, but there's no opensource module out there (perhaps Impact? ) I am fairly new to CFD but we have a machine to test resistance to erosion by solid particles in an air jet and have been asked to try and model it. 2g/min particles of alumina 50micron in a 5l/min air flow exiting a 1.5mm diameter nozzle and impacting materials at 10mm distance. Supposedly at a speed of 30m/sec (up to 70m/sec). Happy to cooperate if anybody is taking up the challenge I 

March 28, 2014, 05:51 
FEM Results ParaView

#183 
New Member
Join Date: Mar 2014
Posts: 23
Rep Power: 12 
How can results of stressFemFoam be seen in ParaView?


March 28, 2014, 12:00 
simulate rotation of object due to forces

#184 
New Member
Join Date: Jul 2012
Posts: 4
Rep Power: 14 
Hi everyone,
I was wondering if and/or how it would be possible to simulate the rotation of a solid around a given point with the solidMechanics library. Imagine for example, you want to simulate a pair of balances. So you have a beam pivoted at some point and two forces acting at the tips, such that the beam can rotate but not translate in order to reach some equilibrium state. Another application with respect to fluid structure interaction is some wind wheel that starts rotating around a given axis due to fluid flow around it. Thank you for any ideas! Regards, Anna 

March 28, 2014, 12:09 

#185  
Super Moderator
Philip Cardiff
Join Date: Mar 2009
Location: Dublin, Ireland
Posts: 1,092
Rep Power: 34 
Quote:
As regards rotation, you should look at these tutorials: Code:
elasticNonLinULSolidFoam/rotateSphereUL elasticNonLinTLSolidFoam/rotateSphereTL Best regards, Philip 

March 28, 2014, 13:10 

#186 
Super Moderator
Philip Cardiff
Join Date: Mar 2009
Location: Dublin, Ireland
Posts: 1,092
Rep Power: 34 
Hmnnn
stressFemFoam generates tetPointFields (scalar and vector) and the foam ParaView reader does not recognise these. This problem was discussed previously here but no solution.
Also foamToVTK does not recognise these fields either. So you could update the ParaView foam reader and/or foamToVTK, or probably the easiest way would be to write a small OpenFOAM utility which reads in these tetPointFields and then transfers their contents to a pointScalarField for example, which ParaView can read. Philip 

March 28, 2014, 13:44 

#187  
Super Moderator
Philip Cardiff
Join Date: Mar 2009
Location: Dublin, Ireland
Posts: 1,092
Rep Power: 34 
Quote:
Philip 

April 5, 2014, 15:44 
noncontiguous acp crack propogation

#188 
Member
Eric Bryant
Join Date: Sep 2013
Location: Texas
Posts: 44
Rep Power: 13 
@ Dr. Cardiff 
I believe there exists a bug in the arbitraryCrack solid model. I have tested 2D trigonal meshes with the elasticAcpSolidFoam solver using meshes generated in both gmsh and ICEM (having initially suspected the error to be associated with a mesh import utility). But I am now thinking the issue is: $FOAM_SRC/solidModels/arbitraryCrack/faceCracker/detachFaceCracker.C As part of this issue, I see under paraview warpbyvector an unphysical separation of faces not a member of (but adjacent to) the crack patch; conjointly, elements with no opportunity to detach nodes, because no traction will develop on attached faces. By thumbnail: #1  uncracked mesh  crackable boundary patch specified along the five triangular notches #2  cracked mesh with labeled displaced problem face (time = 54) #3  crack patch in slightly 3D view, similarly labelled (time = 54) For example, compilation using "detachFaceCracker_orig.C" worsens the issue. Best, Eric Last edited by codder; April 9, 2014 at 02:18. 

April 8, 2014, 11:10 
Distributed Load

#189 
New Member
Join Date: Mar 2014
Posts: 23
Rep Power: 12 
Hi,
How can a triangular distributed load be applied on a beam in OF, please? 

April 23, 2014, 08:40 

#190 
New Member
Giampaolo Cetraro
Join Date: Oct 2012
Posts: 14
Rep Power: 14 
Hello everyone,
I'm using elasticNonLinULSolidFoam to simulate large displacements of a 2D membrane under a constant load, fixed at the extremities. With a fixed timestep, I can get grid converged results on modes and amplitude of oscillations, but modifing the timestep I get a different dynamics. As you can see from the animation (https://drive.google.com/file/d/0B1d...it?usp=sharing), the solution converges for the the final displacement, but the amplitude and the modes of vibration seem highly dependent from the timestep (decreasing the timestep things go even worse). here the details of the animation mesh 600x2 deltaT : 0.00125 (blue), 0.0025 (green), 0.005 (red) Is it a physical or numerical issue? Can anyone explain this behaviour? Could you link me some reference? Thank you very much Giampaolo 

April 23, 2014, 08:53 

#191  
Super Moderator
Philip Cardiff
Join Date: Mar 2009
Location: Dublin, Ireland
Posts: 1,092
Rep Power: 34 
Quote:
Nice animation. OK, this timestep effect is a numerical problem. If you refine the timestep much more (i.e. 0.0005, 0.0001, etc.), do the results converge? What timediscretisation scheme are you using (e.g. Euler)? Actually, from a previous post we realised that the 1st Order Euler is currently the only implemented time scheme (backward can be chosen but it just uses Euler for the elasticNonLinULSolidFoam solver by default). You could actually try the 2nd Order backward time scheme, by editing this line in the solver: Code:
fvm::d2dt2(rho,DU) Code:
rho*fvm::d2dt2(DU) Code:
d2dt2(DU) backward; Philip 

April 23, 2014, 10:50 

#192 
New Member
Giampaolo Cetraro
Join Date: Oct 2012
Posts: 14
Rep Power: 14 
Hi Philip, thank you very much for your quick reply
unfortunately with a smaller timestep the solution doesn't converge (at some point the displacement is not even symmetrical) https://drive.google.com/file/d/0B1d...it?usp=sharing dt= 0.00002 (red), 0.00125 (blue) I'll try if with the backward scheme the dynamic solution converges. An other quick question: I checked the differences between elasticNonLinULSolidFoam and icoFsiElasticNonLinULSolidFoam, because I remember that in the second one I could use the backward scheme ...basically the two solid solvers should be the same, right? Is there any particular reason why the momentum equation is solved in a different way (d2dt2 does not appear) in the solid solver of icoFsiElasticNonLinULSolidFoam? 

April 23, 2014, 11:36 

#193  
Super Moderator
Philip Cardiff
Join Date: Mar 2009
Location: Dublin, Ireland
Posts: 1,092
Rep Power: 34 
Quote:
Another thing: the solver does not explicitly include any damping so the membrane should keep oscillating forever; the reason it slows and stops is due to the numerical damping in the 1st order Euler approximation i.e. diffusive error. Also, what solution tolerance are you using in fvSolution for DU (not the linear solver tolerance)? as this may have an effect given the large number of timesteps: errors may build up. Quote:
Philip 

April 23, 2014, 13:57 

#194 
New Member
Giampaolo Cetraro
Join Date: Oct 2012
Posts: 14
Rep Power: 14 
With the backward scheme the membrane keeps oscillating (as expected I guess) ...but then, how can I calculate the steady displacement, given a constant load?
https://drive.google.com/file/d/0B1d...it?usp=sharing 0.005 (green), 0.00125 (red), 0.0003125 (blue) Also, the solution seems to be in the same range only until a certain time, is it possibly the effect of the large number of timesteps? In all the simulations I have in the solidMechanics subdictionary nCorrectors 10000; DU 1e07; Shall I decrease DU tolerance in order to have kind of a converged solution for longer? 

April 24, 2014, 04:47 

#195  
Super Moderator
Philip Cardiff
Join Date: Mar 2009
Location: Dublin, Ireland
Posts: 1,092
Rep Power: 34 
Quote:
To perform a steadystate simulation, set the d2dt2 time scheme to steadyState in the fvSchemes dictionary: Code:
//d2dt2(DU) Euler; // 1st order //d2dt2(DU) backward; // 2nd order d2dt2(DU) steadyState; Quote:
Quote:
Philip Last edited by bigphil; April 24, 2014 at 04:53. Reason: Accidentally posted before finishing reply 

April 24, 2014, 13:28 

#196 
New Member
Giampaolo Cetraro
Join Date: Oct 2012
Posts: 14
Rep Power: 14 
I run different cases with fixed timestep and different convergenceTolerance values (1e9, 1e12)and apparently there weren't any difference ...too weird.
Then I checked the log files and basically for each case the rel res (which is the convergenceTolerance, right?) jumped from e7 to 0 making the loop terminate. That means that no matter the value of DU I assigned in solidMechanics all the cases behaved the same. Code:
Time 0.275, Corrector 182, Solving for DU using DICPCG, res = 1.29921441212e08, rel res = 2.73569592574e06, inner iters 2 Time 0.275, Corrector 183, Solving for DU using DICPCG, res = 2.0893153815e08, rel res = 2.7124471853e06, inner iters 2 Time 0.275, Corrector 184, Solving for DU using DICPCG, res = 2.03314639413e08, rel res = 2.31764770932e06, inner iters 1 Time 0.275, Corrector 185, Solving for DU using DICPCG, res = 1.84189167588e08, rel res = 7.36534949676e07, inner iters 1 Time 0.275, Corrector 186, Solving for DU using DICPCG, res = 7.07846147695e09, rel res = 0, inner iters 0 An other question, the pressure at the boundary condition is actual pressure (N/m^2) or pressure/rho? 

April 24, 2014, 13:36 

#197  
Super Moderator
Philip Cardiff
Join Date: Mar 2009
Location: Dublin, Ireland
Posts: 1,092
Rep Power: 34 
Quote:
Quote:
Quote:
Philip 

April 25, 2014, 11:55 

#198 
New Member
Giampaolo Cetraro
Join Date: Oct 2012
Posts: 14
Rep Power: 14 
Thank you very much Philip for your support.
Ok I fixed the issue with the tolerance (the tolerance for the linear solver was bigger than the convergenceTolerance ...shame on me!) ...but apparently it doesn't affect very much the result. For a time step of 0.005 at time 10 the displacement is still the same. A zoomin at the middle point shows that the difference is really negligible. DU convergenceTolerances are 1e7(blue), 1e9(red), 1e12(green) tolerance2.jpg tolerance1.jpg Decreasing the timestep still makes the solution diverge at some point https://drive.google.com/file/d/0B1d...it?usp=sharing deltaT = 5e3(blu), 3.125e4(red), 7.8125e5(green) DU convergenceTolerance = 1e9 

April 28, 2014, 07:46 
analyticalPlateHole

#199 
New Member
Join Date: Mar 2014
Posts: 23
Rep Power: 12 
Hi,
In tutorial of elasticSolidFoam, how can analyticalPlateHole be run for different cases just by once compilation, please? In other words, by changing the dimensions of plate we don't have to recompile analyticalPlateHole.C. 

April 28, 2014, 08:31 

#200  
Super Moderator
Philip Cardiff
Join Date: Mar 2009
Location: Dublin, Ireland
Posts: 1,092
Rep Power: 34 
Quote:
The geometry and loading is hardcoded into the plateHoleSolution function which is implemented in the analyticalPlateHole utility and also within the $FOAM_SRC/solidModels/fvPatchFields/analyticalPlateHoleTraction boundary condition (also in the plateHoleSolution function). It should be clear to see where the hole radius and applied traction is defined (it should be at the top of the function). You would need to change these to what ever you want then recompile the utility (with wmake) and the solidModels library (with wmake libso). 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 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 
Crosscompiling OpenFOAM 1.7.0 on Linux for Windows 32 and 64bits with Mingww64  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 