CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM Community Contributions > OpenFOAM CC Toolkits for Fluid-Structure Interaction

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

Register Blogs Community New Posts Updated Threads Search

Like Tree134Likes

Closed Thread
 
LinkBack Thread Tools Search this Thread Display Modes
Old   March 6, 2014, 12:26
Default Cantilever Beam
  #161
New Member
 
Join Date: Mar 2014
Posts: 8
Rep Power: 12
Forum is on a distinguished road
Can attached beam be simulated in OF and provide good results in displacement and stress close to analytical solutions, please?

Thanks
Attached Files
File Type: docx Beam.docx (39.2 KB, 55 views)
Forum is offline  

Old   March 6, 2014, 13:08
Default
  #162
Super Moderator
 
bigphil's Avatar
 
Philip Cardiff
Join Date: Mar 2009
Location: Dublin, Ireland
Posts: 1,097
Rep Power: 34
bigphil will become famous soon enoughbigphil will become famous soon enough
Quote:
Originally Posted by Forum View Post
Can attached beam be simulated in OF and provide good results in displacement and stress close to analytical solutions, please?

Thanks
Yep, that should work, but be careful that the tolerance is tight enough and is actually met (the number of outer correctors may need to be increased). Also don't use cell with a large aspect ratio.

Philip
bigphil is offline  

Old   March 7, 2014, 03:59
Default
  #163
Senior Member
 
Join Date: Jan 2014
Posts: 179
Rep Power: 12
hxaxtma is on a distinguished road
Hi guys,

regarding my Problem, hast got anyone of you an idea?

I want to use icsoFsiFoam with cyclicGgi interfaces. For U and p file there is no problem, but for motionU file I got backflow at the outlet with other BCs (like total Pressure, or Neumann, Dirichlet)

How do I have to implement them in motionU file?
hxaxtma is offline  

Old   March 7, 2014, 04:45
Default
  #164
New Member
 
Ireneusz Czajka
Join Date: Nov 2013
Posts: 6
Rep Power: 13
iczajka is on a distinguished road
Quote:
Originally Posted by bigphil View Post
Hmnn, there is always a way but I'm not sure if there is an easy way.
It sounds like you essentially want to activate a contact-style condition.

You would have to do a bit of coding in the solver and check the solid FSI interface if it goes outside the specified bounds; if it does then you would need to fix the normal displacement or apply a penalty force or something along those lines.

Philip
Thank You very much Philip, you have confirmed my concerns.
iczajka is offline  

Old   March 7, 2014, 07:19
Default Beam
  #165
New Member
 
Join Date: Mar 2014
Posts: 8
Rep Power: 12
Forum is on a distinguished road
Hi,

Could you please have a look at attached beam in your email and let me know how you think of it? Since the size of the file is big it has been sent by email.

Thanks.
Forum is offline  

Old   March 12, 2014, 09:00
Question Multi-Material Time-Varying Deformation
  #166
New Member
 
L.Bryce Whitson Jr.
Join Date: Jun 2011
Posts: 18
Rep Power: 15
LWhitson2 is on a distinguished road
Is one of the solvers in this package capable of solving the time-varying deformation of multiple materials which are attached to each other. The problem set up is as follows:

1) Two discs of different material but similar in diameter

2) Disc 2 is attached to the top of Disc 1 using a screw through a hole in the center of both discs

3) A time-varying pressure is applied to the bottom of Disc 1.

4) The top of Disc 2 is held in place

5) The edges of both discs are allowed to move freely

6) During the run we want to see the deformation and strains throughout the system

I am very familiar with OpenFOAM and the CFD solvers but am new to the stress analysis part.
LWhitson2 is offline  

Old   March 12, 2014, 10:20
Default
  #167
Super Moderator
 
bigphil's Avatar
 
Philip Cardiff
Join Date: Mar 2009
Location: Dublin, Ireland
Posts: 1,097
Rep Power: 34
bigphil will become famous soon enoughbigphil will become famous soon enough
Quote:
Originally Posted by LWhitson2 View Post
Is one of the solvers in this package capable of solving the time-varying deformation of multiple materials which are attached to each other. The problem set up is as follows:

1) Two discs of different material but similar in diameter

2) Disc 2 is attached to the top of Disc 1 using a screw through a hole in the center of both discs

3) A time-varying pressure is applied to the bottom of Disc 1.

4) The top of Disc 2 is held in place

5) The edges of both discs are allowed to move freely

6) During the run we want to see the deformation and strains throughout the system

I am very familiar with OpenFOAM and the CFD solvers but am new to the stress analysis part.
Hi,

Yes it should be possible using elasticSolidFoam, see the biMaterialPlate tutorial.

If you assume both materials are perfectly bonded at their interface then the procedure will be similar to the biMaterialPlate tutorial; if not, then you will need to use contact boundary conditions, see slidingFrictionBall tutorial.

The timeVaryingSolidTraction BC will allow you apply the time varying traction and you can use fixedDisplacement to fix the top of the disc (or fixedDisplacementZeroShear).
The traction free sides can be solidTraction with zero traction and pressure.

Give it a go and see how you get on,

Best regards,
Philip
bigphil is offline  

Old   March 13, 2014, 14:01
Default Internal Face BC
  #168
New Member
 
Join Date: Mar 2014
Posts: 8
Rep Power: 12
Forum is on a distinguished road
Hi,

I would like to know if there is a way to define a BC in internal face, please. For instance, how to fix a single cell through internal face in a beam problem.

Thanks.
Forum is offline  

Old   March 13, 2014, 18:50
Default reply to Forum
  #169
Member
 
Eric Bryant
Join Date: Sep 2013
Location: Texas
Posts: 44
Rep Power: 13
codder is on a distinguished road
@ Forum

Quote:
Originally Posted by Forum View Post
I would like to know if there is a way to define a BC in internal face, please. For instance, how to fix a single cell through internal face in a beam problem.
I'm just throwing things out here. But, a friend has contemplated using explicitsetvalue to define constant scalar values inside the mesh.

However, he also indicates the functionality of explicitsetvalue he wants to use requires OpenFOAM-2.1+ ... not sure of the details, maybe it works for you?

Best, Eric

Last edited by codder; March 13, 2014 at 20:54.
codder is offline  

Old   March 17, 2014, 07:43
Default Baffle in OF-1.6-ext
  #170
New Member
 
Join Date: Mar 2014
Posts: 8
Rep Power: 12
Forum is on a distinguished road
Hi,

Does baffle work in OF-1.6-ext and solid mechanics, please? I ran T-junction and damBreakPorousBaffle in OF-1.6-ext but there is no baffle zone in their paraView results. In addition, there is an error in their log.topoSet and log.createBaffles. I want to use baffle to define an internal BC in a solid simulation.

Thanks.
Forum is offline  

Old   March 19, 2014, 12:29
Default Internal BC
  #171
New Member
 
Join Date: Mar 2014
Posts: 8
Rep Power: 12
Forum is on a distinguished road
Hi,


I used two different patches to apply a fixed BC in a beam but their results are not the same. When I apply the BC on a boundary patch it gives the same result as the analytical one but if I apply the BC on an internal patch it doesn't give a correct result, as shown in attachment. Do you know what the reason is, please? Why doesn't the internal patch behave the same as the boundary patch?

Thanks.
Attached Images
File Type: jpg stress-boundary patch.jpg (8.5 KB, 34 views)
File Type: jpg stress-internal patch.jpg (14.0 KB, 39 views)
Forum is offline  

Old   March 25, 2014, 13:18
Default FSI with gmsh unstructured meshes...
  #172
New Member
 
Kanuk
Join Date: Oct 2010
Posts: 28
Rep Power: 16
kanuk is on a distinguished road
First of all, great job on this fine addition to the extend project.

I was playing around with the FSI solver and can't seem to get it to run in parallel with an unstructured mesh imported from gmsh. Every time I run, I get an error while running decomposeParDict -cellDist to the tune of:

"size of field = 5387 is not the same as the size of mesh = 5070"

I've tried avoiding this error by using gmshToFoam and decomposePar from the official OF dist, but the same problem repeats itself when I try running icoFsiElasticNonLinULSolid in parallel....

Has anyone managed to get the FSI solver to work with a gmsh imported unstructured mesh? If so, please share your knowledge

PS - I've attached a minimum (non)working example. Using OF-1.6-ext. Also, I've modified the makeCaseLinks somewhat to try to make things simpler for this one case...

Cheers,
Dave

EDIT: I'm not sure if it matters any more but when I originally downloaded 1.6-ext I had to patch gmshToFoam using the advice from http://www.cfd-online.com/Forums/ope...mshtofoam.html. Just FYI...
Attached Files
File Type: gz min_example.tar.gz (4.5 KB, 16 views)

Last edited by kanuk; March 25, 2014 at 13:25. Reason: More Info
kanuk is offline  

Old   March 25, 2014, 13:25
Default
  #173
Super Moderator
 
bigphil's Avatar
 
Philip Cardiff
Join Date: Mar 2009
Location: Dublin, Ireland
Posts: 1,097
Rep Power: 34
bigphil will become famous soon enoughbigphil will become famous soon enough
Quote:
Originally Posted by kanuk View Post
First of all, great job on this fine addition to the extend project.

I was playing around with the FSI solver and can't seem to get it to run in parallel with an unstructured mesh imported from gmsh. Every time I run, I get an error while running decomposeParDict -cellDist to the tune of:

"size of field = 5387 is not the same as the size of mesh = 5070"

I've tried avoiding this error by using gmshToFoam and decomposePar from the official OF dist, but the same problem repeats itself when I try running icoFsiElasticNonLinULSolid in parallel....

Has anyone managed to get the FSI solver to work with a gmsh imported unstructured mesh? If so, please share your knowledge

PS - I've attached a minimum (non)working example. Using OF-1.6-ext. Also, I've modified the makeCaseLinks somewhat to try to make things simpler for this one case...

Cheers,
Dave
Hi Dave,

how do I create the mesh in your test case? I do not use gmsh, I presume the mesh file is created using the 'geo' files and gmsh: can you upload the actual 'msh' mesh files?

Best regards,
Philip
bigphil is offline  

Old   March 25, 2014, 13:34
Default
  #174
New Member
 
Kanuk
Join Date: Oct 2010
Posts: 28
Rep Power: 16
kanuk is on a distinguished road
Quote:
Hi Dave,

how do I create the mesh in your test case? I do not use gmsh, I presume the mesh file is created using the 'geo' files and gmsh: can you upload the actual 'msh' mesh files?

Best regards,
Philip
Hi Philip,

Thanks for your swift response! Unfortunately I am limited to a 75kB upload.... I can email them to you if you'd like..?

~Dave
kanuk is offline  

Old   March 26, 2014, 07:59
Default Thin Beam
  #175
New Member
 
Join Date: Mar 2014
Posts: 23
Rep Power: 12
Brayanashel is on a distinguished road
Below there are some information about a clamped thin beam modelling. Is it possible to reach the analytical solution by stressedFoam quickly, just in few minutes?

BlockMeshDict

Code:
convertToMeters 0.001;

vertices
(
    (0 0 -0.5)    // 0
    (30 0 -0.5)   // 1
    (30 1 -0.5)   // 2
    (0 1 -0.5)    // 3
    (0 0 -0.0125)   // 4
    (30 0 -0.0125)   // 5
    (30 1 -0.0125)   // 6
    (0 1 -0.0125)   // 7
    (0 0 0.0125)   // 8
    (30 0 0.0125)   // 9
    (30 1 0.0125)   // 10
    (0 1 0.0125)   // 11
    (0 0 0.5)   // 12
    (30 0 0.5)   // 13
    (30 1 0.5)   // 14
    (0 1 0.5)   // 15
);

blocks
(
    hex (0 1 2 3 4 5 6 7) (300 1 29) simpleGrading (1 1 60)
    hex (4 5 6 7 8 9 10 11) (300 1 1) simpleGrading (1 1 1)
    hex (8 9 10 11 12 13 14 15) (300 1 29) simpleGrading (1 1 0.016666667)
);

edges
(
);

patches
(
    wall lower
    (
    (0 3 2 1)
    )
    wall upper
    (
        (12 13 14 15)
    )  
    wall xwalls0
    (
        (0 4 7 3)
        (8 12 15 11)
    )
    wall xwalls1
    (
        (4 8 11 7)
    )
    wall xwalls2
    (
    (1 2 6 5)
        (9 10 14 13)
    )
    wall xwalls3
    (
    (5 6 10 9)
    )
);

mergePatchPairs
(
);
controlDict

Code:
application     stressedFoam;

startFrom       latestTime;

startTime       0;

stopAt          endTime;

endTime         200;

deltaT          1;

writeControl    timeStep;

writeInterval   1;

purgeWrite      0;

writeFormat     ascii;

writePrecision  6;

writeCompression compressed;

timeFormat      general;

timePrecision   6;

runTimeModifiable yes;

adjustTimeStep    off;

maxCo             0.5;

libs ( "libOpenFOAM.so" "libgroovyBC.so"  ) ;
fvSolution

Code:
solvers
{
    U               ICCG 1e-09 0.01;

}

stressedFoam
{
    nCorrectors     100;
    U               1e-07;
}
0 / U

Code:
dimensions      [0 1 0 0 0 0 0];

internalField   uniform (0 0 0);

boundaryField
{
    upper
    {
        type            tractionDisplacement;
        traction        uniform (0 0 0);
        pressure        uniform 2e+6;
        value           uniform (0 0 0.0);
    }
   lower
    {
        type            tractionDisplacement;
        traction        uniform ( 0 0 0 );
        pressure        uniform 0;
        value           uniform (0 0 0);
    }
    xwalls0 
    {
        type            slip;
    }
    xwalls1
    {
        type            fixedValue;
        value           uniform (0 0 0);
    }
    xwalls2
    {
        type            tractionDisplacement;
        traction        uniform ( 0 0 0 );
        pressure        uniform 0;
        value           uniform (0 0 0);
    }
    xwalls3
    {
        type            fixedValue;
        value           uniform (0 0 0);
    }
    defaultFaces
    {
        type            empty;
    }
}
Attached Files
File Type: docx thin beam stress.docx (20.6 KB, 20 views)

Last edited by wyldckat; March 26, 2014 at 16:39. Reason: Added [CODE][/CODE]
Brayanashel is offline  

Old   March 26, 2014, 08:19
Default
  #176
Super Moderator
 
bigphil's Avatar
 
Philip Cardiff
Join Date: Mar 2009
Location: Dublin, Ireland
Posts: 1,097
Rep Power: 34
bigphil will become famous soon enoughbigphil will become famous soon enough
Quote:
Originally Posted by Brayanashel View Post
Below there are some information about a clamped thin beam modelling. Is it possible to reach the analytical solution by stressedFoam quickly, just in few minutes?
A bending thin beam is worst case scenario for a segregated solver, so convergence can be very slow.

stressedFoam in its current form will be slow,
but there are ways to speed things up, such as geometric multi grid (implemented on a solver level): this can give huge speed-ups for these cases, and can alleviate this issue entirely.

We hope to share our multi grid solver some time in the future; until then, you have a few options: get used to the slow convergence for these cases; or don't examine these type of cases using this solver; or implement your own multi grid; or look at other solutions such a block solver (will require considerable coding to include all terms in solid solver).

Best regards,
Philip
bigphil is offline  

Old   March 26, 2014, 09:39
Default Multigrid Solver
  #177
New Member
 
Join Date: Mar 2014
Posts: 23
Rep Power: 12
Brayanashel is on a distinguished road
What are the best parameters and values for a multigrid solver GAMG?

U GAMG
{
preconditioner DILU;
mergeLevels 1;
smoother GaussSeidel;
agglomerator faceAreaPair;
nCellsInCoarsestLevel 100;
tolerance 1e-05;
relTol 0;
};

By above values, GAMG is slower than ICCG below.

U ICCG 1e-09 0.01;

Best regards.
Brayanashel is offline  

Old   March 26, 2014, 09:51
Default
  #178
Super Moderator
 
bigphil's Avatar
 
Philip Cardiff
Join Date: Mar 2009
Location: Dublin, Ireland
Posts: 1,097
Rep Power: 34
bigphil will become famous soon enoughbigphil will become famous soon enough
Quote:
Originally Posted by Brayanashel View Post
What are the best parameters and values for a multigrid solver GAMG?

U GAMG
{
preconditioner DILU;
mergeLevels 1;
smoother GaussSeidel;
agglomerator faceAreaPair;
nCellsInCoarsestLevel 100;
tolerance 1e-05;
relTol 0;
};

By above values, GAMG is slower than ICCG below.

U ICCG 1e-09 0.01;

Best regards.
Hi Brayanashel,

GAMG here is multi grid implemented at the linear solver level i.e. when solving Ax=b. This works great for equations like the Laplace (heat or pressure) equation, but it won't really help the solid solver due to the explicit terms.

In my previous post, I am referring to a multi grid procedure implemented on the solid solver level. There are a number of good references on this method, see for example Muzaferija thesis.

Philip
bigphil is offline  

Old   March 26, 2014, 10:24
Default FSI with Slow Solid Solver
  #179
New Member
 
Join Date: Mar 2014
Posts: 23
Rep Power: 12
Brayanashel is on a distinguished road
Hi Philip,

According to slow solid solver, what can one do to have a reasonable speed of run in FSI simulation? Specially when it will be used in optimization which needs to run several times a FSI case.

Does solid solver in a FSI simulation need to continue to run until arriving to analytical solution in each time step? For example, if we have a thin beam in FSI case and the analytical solution of the beam is obtained at time 2000 we need to set endTime of solid solver in controlDict 2000?
Brayanashel is offline  

Old   March 26, 2014, 10:30
Default
  #180
Super Moderator
 
bigphil's Avatar
 
Philip Cardiff
Join Date: Mar 2009
Location: Dublin, Ireland
Posts: 1,097
Rep Power: 34
bigphil will become famous soon enoughbigphil will become famous soon enough
Quote:
Originally Posted by Brayanashel View Post
Hi Philip,

According to slow solid solver, what can one do to have a reasonable speed of run in FSI simulation? Specially when it will be used in optimization which needs to run several times a FSI case.

Does solid solver in a FSI simulation need to continue to run until arriving to analytical solution in each time step? For example, if we have a thin beam in FSI case and the analytical solution of the beam is obtained at time 2000 we need to set endTime of solid solver in controlDict 2000?
Brayanashel,

For all solid cases, you should increase the number of correctors to a large number in fvSolution:
Code:
stressedFoam
{
nCorrectors 10000;
U 1e-07;
}
This way the momentum equation will converge in every time step; the nCorrectors entry sets the maximum number of correctors; the solver will continue if it converges before this.

Also, just to clarify, the solid solver (without multi grid) will only be slow in this thin beam bending cases and should be quite efficient is most others.

Philip
bigphil is offline  

Closed Thread


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
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


All times are GMT -4. The time now is 12:46.