CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM Running, Solving & CFD

SolidDisplacementFoam

Register Blogs Community New Posts Updated Threads Search

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   April 19, 2007, 07:06
Default Hello, I am trying to run a
  #1
Senior Member
 
Philippose Rajan
Join Date: Mar 2009
Location: Germany
Posts: 552
Rep Power: 25
philippose will become famous soon enough
Hello,

I am trying to run a stress analysis case using openFOAM 1.4, and the solidDisplacementFoam solver.

Firstly... is the solver capable of being used for relatively complicated 3D cases, with multiple constraints? Or is it only a demo solver, primarily for 2D applications?

I was looking at the different boundary conditions in the tutorials, but was not able to find all the boundary conditions I need.

1. How can I constrain motion of a patch to only one degree of freedom? For example... fixed in the x and y directions, but movable in the z direction?

2. In the tractionDisplacement condition, what do the "traction", "pressure" and "value" terms imply? And what units do they take?

3. What does the "slip" boundary condition do? Can that be used to selectively constrain different directions?

Awaiting a reply.

Have a nice day!

Philippose
philippose is offline   Reply With Quote

Old   July 30, 2008, 10:53
Default Hello, I have the same ques
  #2
karen
Guest
 
Posts: n/a
Hello,

I have the same question: Do the SolidDisplacementFoam and the
SolidEquilibriumDisplacementFoam-Solvers work only for 2D cases or also for 3D cases?

The reason why I'm asking is the following: I took the beamEndLoad-tutorial (for the
SolidEquilibriumDisplacementFoam-Solver) and changed only the mesh description to a 3D-mesh-
description. This means:
1.I changed the patch-type for the defaultFaces-patch from "empty" to "patch" in the
boundary file of mesh description.
2.In the initial-field-file of D I changed the "empty"-type of the defaultFaces-patch to
"tractionDisplacement" (with the same conditions as for the bottomSurface and the
topSurface)
3.In the initial field of p I changed the type "empty" to "calculated" with the value "uniform 0".

The result of this modification is, that the solution diverged. Also, if I switch the planeStress-condition in the mechanicalProperties-file. Has anyone an idea why?

For the solidDisplacementFoam-Solver I modificated a working 2D case in the analogous way I described above for getting a 3D case. Here the solution also diverged.

I have no idea, what else I have to change in a 2D-case, to get a working 3D-case for the
SolidEquilibriumDisplacementFoam-Solver or the SolidDisplacementFoam-Solver.

For all of that I used OpenFOAM1.4.1.

Thanks in advance!
Karen
  Reply With Quote

Old   July 30, 2008, 12:23
Default Hi ! Those solvers are supp
  #3
Member
 
Mathieu Olivier
Join Date: Mar 2009
Location: Quebec City, Canada
Posts: 77
Rep Power: 17
mathieu is on a distinguished road
Hi !

Those solvers are supposed to work in 3D. Did you change your mesh ? Because a 2D mesh is a 3D mesh with only one cell in the third direction, which is not appropriate for a 3D simulation. Regards,

Mathieu
mathieu is offline   Reply With Quote

Old   July 31, 2008, 07:18
Default Hello, okay, thank you, tha
  #4
karen
Guest
 
Posts: n/a
Hello,

okay, thank you, that could be one point in my modification of beamEndLoad-tutorial, which lead to divergence.
But for the SolidDisplacementFoam-Solver I generated a mesh with some more cells in all directions about the tetgenToFoam-utility. There the solution also diverged.
Are you sure, that the solver should work in 3D? Because there is one more thing that perplex me: When I switch the planeStress-condition in the mechanicalProperties-file, I get a "Plane Strain"- remark instead a "Plane Stress"-remark in the output-file. So plane stress and plane strain both seems to be 2D-conditions for me.
By contrast I can't see a restriction on 2D for the equations in the source-code of the solver. So I ask me, why should there be a plane strain or plane stress output, if there is not a restriction on 2D? Have someone any ideas?

Thanks in advance
Karen
  Reply With Quote

Old   July 31, 2008, 09:49
Default Hi Karen, This solver reall
  #5
Member
 
Mathieu Olivier
Join Date: Mar 2009
Location: Quebec City, Canada
Posts: 77
Rep Power: 17
mathieu is on a distinguished road
Hi Karen,

This solver really work in 3D. Take a look at this link :

http://powerlab.fsb.hr/ped/kturbo/Op...tressPaper.pdf

The equation 5 will help you to understand the "plane strain" remark (in fact, plane strain and 3D use the same Lamé Coefficients...). Here are some other points you may consider :

- those solvers take only small deformations into account;

- if you do a transient simulation, then your nCorrector parameter (in fvSolution) should be set to a high value to ensure convergence within each time step;

- there is a detailed tutorial in the user guide (in case you didn't notice).

Good luck !

Mathieu
mathieu is offline   Reply With Quote

Old   July 31, 2008, 10:28
Default Hi Karen, I tried what you
  #6
Super Moderator
 
Takuya OSHIMA
Join Date: Mar 2009
Location: Niigata City, Japan
Posts: 518
Blog Entries: 1
Rep Power: 20
7islands is on a distinguished road
Hi Karen,

I tried what you tried on 1.4.1 and 1.5, and the former diverged but the latter somehow converged. Don't know why though.

By the way if you try the leastSquares scheme on 1.4.1 like in the plateHole case, you may want to have a look at another thread (leastSquares is virtually not working on the stock 1.4.1).
http://www.cfd-online.com/cgi-bin/OpenFOAM_Discus/show.cgi?tpc=126&post=24129#POST241 29

As written in the thread, I tried several quasi-3D cases (junctions of I-beams) and it agreed reasonably with indeterminate system analyses.

Takuya
7islands is offline   Reply With Quote

Old   August 1, 2008, 09:19
Default Hello, thanks for your refe
  #7
karen
Guest
 
Posts: n/a
Hello,

thanks for your references! I tried solidDisplacementFoam-solver with a 3D mesh of an other tutorial and some modifications in the controlDict-file and the initial conditions. This test now seems to work. I don't know what's wrong with the other 3D mesh, I generated with tetgen and converted with tetgenToFoam. I hope I will figure it out soon.

Karen
  Reply With Quote

Old   August 10, 2008, 14:43
Default Hello everybody, I take the
  #8
karen
Guest
 
Posts: n/a
Hello everybody,

I take the beamEndLoad tutorial of the solidEquilibriumDisplacementFoam-solver, modificate it to a 3D case with the block-mesh-utility (mesh as 3D, also planeStress-option is set to no) and get now a working 3D case in OpenFOAM1.5.
If I take the bar of this case, but discretise it with tetraeders about tetgen or fluent (in contrast to discretising it in blocks with blockMesh), my solution always diverge.
I tried with some finer mesh, with different solvers in the fvSolution-file and some other things. The solution never converge.
Has anyone an idea what I can do, that the solution converge? Perhaps some hints? Has someone the same problem?
Or has someone a working 3D-testcase for the solidEquilibriumDisplacement-Solver (or solidDisplacementFoam-Solver) with a mesh, discretised with tetraeders, which he can send me?
(karen dot kuhn at web dot de)

Thanks in advance
Karen
  Reply With Quote

Old   October 8, 2009, 18:56
Default BC in SolidDisplacementFoam
  #9
New Member
 
Rituraj
Join Date: Oct 2009
Posts: 2
Rep Power: 0
rituraj1729 is on a distinguished road
Hello Philippose,

I am facing the same problem as you. Did you resolve the problem ? I would greatly appreciate your or anybody else's help in this regards. Thanks,

Rituraj
rituraj1729 is offline   Reply With Quote

Old   October 8, 2009, 20:13
Default
  #10
New Member
 
Rituraj
Join Date: Oct 2009
Posts: 2
Rep Power: 0
rituraj1729 is on a distinguished road
I guess this should work:

For example, if you want to make the normal components on left wall to be zero and the tangential components are between zeroGradient/slip depending on valueFraction (1 for slip)

left
{
type partialSlip;
valueFraction 0.5;
}
rituraj1729 is offline   Reply With Quote

Old   May 13, 2014, 07:26
Red face How to parameter the boundary condition on this exemple?
  #11
New Member
 
Jeff
Join Date: May 2014
Location: Nantes, France
Posts: 11
Rep Power: 12
MrJeff is on a distinguished road
Hi OpenFOAM users!

I use OpenFOAM for a single week. My first goal is to compare this software with a FEA software like Abaqus or MSc Software for instance.

In order to do this comparison, I want to run an exemple of a stress analysis a beam where I apply a load and I fixed the left part.

The exemple from the tutorials of OpenFOAM named beamEndLoad shows the same particularities. That is why I run it.

Unfortunately, I have some problems ...

1) Firstly, as the author said... is the solver capable of being used for relatively complicated 3D cases, with multiple constraints? Or is it only a demo solver, primarily for 2D applications?

2) The FoamFile named D
in the 0 directory deals with the displacement in meters of the beam. Into this file, there is tractionDisplacement condition. What do the "traction", "pressure" and "value" terms imply? And what units do they take? Does these units depend on the dimension of D?

3) The FoamFile named p (located near the file D) means the strength in Newton I think. Am I wrong? What other boundary conditions exist for this FoamFIle (as the tractionDisplacement condition in p)?

4) Finally, when I run the exemple on paraFoam, what does the terms sigmaEq and sigma means? Why the term p disappear then we want calculate it? What the difference between p, sigmaEq and sigma?

I know that I got numerous questions but I need only few answers maybe to help me to understand this exemple.

Regards.

MrJeff.

Last edited by MrJeff; May 13, 2014 at 07:27. Reason: Add some details
MrJeff is offline   Reply With Quote

Old   May 27, 2014, 06:27
Default Reply on my question 2)
  #12
New Member
 
Jeff
Join Date: May 2014
Location: Nantes, France
Posts: 11
Rep Power: 12
MrJeff is on a distinguished road
In order to reply to my question 2), the boundary type tractionDisplacement is set by:

-traction: it denotes the load applied to the model in Pascal by default.

-pressure: it denotes the pressure applied to the model in Pascal.

-value: It denotes the the displacement initial conditions are set to (x; y; z). The unity is the meter by default.

The explanations there http://www.openfoam.org/docs/user/pl...hp#x6-370002.2 were not so clear in my mind.

Last edited by MrJeff; May 27, 2014 at 06:29. Reason: Bad writing/spelling
MrJeff is offline   Reply With Quote

Reply


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
ChtMultiRegionFoam kOmegaSST solidDisplacementFoam marico OpenFOAM Running, Solving & CFD 4 January 16, 2009 03:51


All times are GMT -4. The time now is 23:03.