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] the dynamic response of cantilever beam under earthquake

Register Blogs Community New Posts Updated Threads Search

Like Tree2Likes
  • 2 Post By bigphil

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   May 22, 2014, 10:20
Default the dynamic response of cantilever beam under earthquake
  #1
Member
 
xuhe-openfoam
Join Date: Aug 2013
Location: DaLian,china
Posts: 82
Rep Power: 12
bieshuxuhe is on a distinguished road
hi,
could we simulate the dynamic response of cantilever beam under earthquake by using solidMechanics in foam-extend-3.0 ?
I want to calculate and observe the vibration(the movement of the mesh) of the beam ! so it maybe use dynamic mesh .

but now I am confused about how to input the horizontal earthquake wave at the fixed end of the vertical beam ?
is there a available fvpatchfield for this ? I know there is a timeVaryingFixedDisplacement which sounds ok , but I found it can't make the mesh move !

Another question is which fvpatchfield to choose for other patch that is free ?


thanks
bieshuxuhe is offline   Reply With Quote

Old   May 23, 2014, 09:40
Default
  #2
Super Moderator
 
bigphil's Avatar
 
Philip Cardiff
Join Date: Mar 2009
Location: Dublin, Ireland
Posts: 1,089
Rep Power: 34
bigphil will become famous soon enoughbigphil will become famous soon enough
Quote:
Originally Posted by bieshuxuhe View Post
hi,
could we simulate the dynamic response of cantilever beam under earthquake by using solidMechanics in foam-extend-3.0 ?
I want to calculate and observe the vibration(the movement of the mesh) of the beam ! so it maybe use dynamic mesh .

but now I am confused about how to input the horizontal earthquake wave at the fixed end of the vertical beam ?
is there a available fvpatchfield for this ? I know there is a timeVaryingFixedDisplacement which sounds ok , but I found it can't make the mesh move !

Another question is which fvpatchfield to choose for other patch that is free ?
Hi,

I would recommend that you have a look at some of the tutorials for elasticSolidFoam and elasticNonLinULSolidFoam/elasticNonLinTLSolidFoam.

As regards, applying an earthquake wave boundary condition, you can apply a stress pulse using timeVaryingSolidTraction or a displacement step using timeVaringFixedDisplacement.

With regard to movement of the mesh, this depends on the approach adopted in the solver: for example, small strain solvers (eg elasticSolidFoam) assume that the domain/mesh remains unchanged and solves for the displacement field on this fixed mesh; if you want to 'see' the real deformation then you can "warp by vector" using the displacement field in ParaView.
For geometrically nonlinear methods (i.e. large strain style methods), total Lagrangian methods use the initial mesh as a reference so the mesh is not moved, whereas updated Lagrangian methods use the mesh at the previous time-step as the reference so the mesh is moved.
In reality, you presumably want to know the deformation which is given by the displacement field and can be visualised for non-moving mesh methods as explained above.

For a 'free' patch, I presume you are referring to traction-free/stress-free/force-free; you should then use solidTraction with the traction and pressure set to zero.

Philip
jherb and bieshuxuhe like this.
bigphil is offline   Reply With Quote

Old   May 28, 2014, 10:23
Default dam-reservoir interaction
  #3
Member
 
xuhe-openfoam
Join Date: Aug 2013
Location: DaLian,china
Posts: 82
Rep Power: 12
bieshuxuhe is on a distinguished road
dear Philip,
thanks for your reply !
I have tried as you told me with elasticSolidFoam and elasticNonLinULSolidFoam/elasticNonLinTLSolidFoam , and they all work good !
I input the earthquake wave by appling a displacement step using timeVaringFixedDisplacement .

actually , my ultimate goal is to simulate the dam-reservoir interaction under earthquake . fortunately , there is a icoFsiElasticNonLinULSolidFoam which is very suitable !
Now I use timeVaringFixedDisplacement to input the earthquake wave for dam-solid , and use timeVaryingUniformFixedValue to input the earthquake wave for the bottom of reservoir-fluid .
I have check the source code of icoFsiElasticNonLinULSolidFoam , then I found we could use "motionU" (or "pointMotionU") to make the fluid mesh move !

for the fluid the motionU is
Code:
/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | foam-extend: Open Source CFD                    |
|  \\    /   O peration     | Version:     3.0                                |
|   \\  /    A nd           | Web:         http://www.extend-project.de       |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      ascii;
    class       tetPointVectorField;
    object      motionU;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

dimensions      [0 1 -1 0 0 0 0];

internalField   uniform (0 0 0);

boundaryField
{
    damFace
    {
        type            fixedValue;
        value           uniform (0 0 0);
    }

    atmosphere
    {
        type           slip;
    }

    ground
    {
        type            timeVaryingUniformFixedValue;
        fileName        "$FOAM_CASE/constant/timeVsVelo.txt";
        outOfBounds     clamp;
        value           uniform (0 0 0);
    }

    leftground
    {
        type            timeVaryingUniformFixedValue;
        fileName        "$FOAM_CASE/constant/timeVsVelo.txt";
        outOfBounds     clamp;
        value           uniform (0 0 0);
    }

    back
    {
        type            empty;
    }

    front
    {
        type            empty;
    }
}

// ************************************************************************* //
in the solid the DU is
Code:
/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | foam-extend: Open Source CFD                    |
|  \\    /   O peration     | Version:     3.0                                |
|   \\  /    A nd           | Web:         http://www.extend-project.de       |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      ascii;
    class       volVectorField;
    location    "0";
    object      DU;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

dimensions      [0 1 0 0 0 0 0];

internalField   uniform (0 0 0);

boundaryField
{
    damFaceleft
    {
	type            solidTraction;
        nonLinear       updatedLagrangian;
	traction        uniform (0 0 0);
	pressure        uniform 0;
	value           uniform (0 0 0);
    }

    damFaceright
    {
	type            solidTraction;
        nonLinear       updatedLagrangian;
	traction        uniform (0 0 0);
	pressure        uniform 0;
	value           uniform (0 0 0);
    }

    ground
    {
        type            timeVaryingFixedDisplacement;
        nonLinear       updatedLagrangian;
        outOfBounds     clamp;
        fileName        "$FOAM_CASE/constant/timeVsDisp.txt";
        value           uniform (0 0 0);
    }

    atmosphere
    {
	type            solidTraction;
        nonLinear       updatedLagrangian;
	traction        uniform (0 0 0);
	pressure        uniform 0;
	value           uniform (0 0 0);
    }

    front
    {
        type            empty;
    }

    back
    {
        type            empty;
    }
}
I draw a sketch map . please look the Attach Files .

I found if I use timeVaryingFixedDisplacement(DU boundary) for ground of dam-solid , it will be wrong
Code:
/*---------------------------------------------------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | foam-extend: Open Source CFD                    |
|  \\    /   O peration     | Version:  3.0                                   |
|   \\  /    A nd           | Web:         http://www.extend-project.de       |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
Build    : 3.0
Exec     : icoFsiElasticNonLinULSolidFoam
Date     : May 28 2014
Time     : 21:46:37
Host     : sxh-VirtualBox
PID      : 4633
CtrlDict : /home/sxh/foam/foam-extend-3.0/etc/controlDict
Case     : /home/sxh/foam/sxh-3.0/run/tutorials/solidMechanics/icoFsiElasticNonLinULSolidFoam/DamReservoirFsi/fluid
nProcs   : 1
SigFpe   : Enabling floating point exception trapping (FOAM_SIGFPE).

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
Create time

Create dynamic mesh for time = 0

Selecting dynamicFvMesh dynamicMotionSolverFvMesh
Selecting motion solver: laplace
Selecting motion diffusivity: quadratic

Reading transportProperties

Reading field p

Reading field U

Reading/calculating face flux field phi

Reading incremental displacement field DU

Patch atmosphere	Traction boundary field: DU
	nonLinear set to updated Lagrangian
--> FOAM Warning : The gradScheme for DU should be "extendedLeastSquares 0" for the boundary non-orthogonal correction to be right
--> FOAM Warning : The gradScheme for DU should be "extendedLeastSquares 0" for the boundary non-orthogonal correction to be right
Patch damFaceleft	Traction boundary field: DU
	nonLinear set to updated Lagrangian
--> FOAM Warning : The gradScheme for DU should be "extendedLeastSquares 0" for the boundary non-orthogonal correction to be right
Patch damFaceright	Traction boundary field: DU
	nonLinear set to updated Lagrangian
--> FOAM Warning : The gradScheme for DU should be "extendedLeastSquares 0" for the boundary non-orthogonal correction to be right
Reading incremental displacement field DV

Reading accumulated velocity field V

Reading accumulated stress field sigma

Reading incremental stress field DSigma

Selecting rheology model linearElastic
Creating constitutive model

Reading coupling properties
Create fluid-to-solid and solid-to-fluid interpolators
Check fluid-to-solid and solid-to-fluid interpolators
Fluid-to-solid face interpolation error: 0
Solid-to-fluid face interpolation error: 0

Starting time loop

Time = 0.01

Selecting coupling scheme Aitken

Time = 0.01, iteration: 1
Current fsi under-relaxation factor: 0.01
Maximal accumulated displacement of interface points: 0
Courant Number mean: 0 max: 0 velocity magnitude: 0
DILUPBiCG:  Solving for Ux, Initial residual = 0.999995, Final residual = 3.77483e-17, No Iterations 1
DILUPBiCG:  Solving for Uy, Initial residual = 0, Final residual = 0, No Iterations 0
GAMG:  Solving for p, Initial residual = 0.982034, Final residual = 6.13542e-07, No Iterations 17
GAMG:  Solving for p, Initial residual = 1.02995e-07, Final residual = 4.77448e-08, No Iterations 1
GAMG:  Solving for p, Initial residual = 4.77449e-08, Final residual = 2.19969e-08, No Iterations 1
time step continuity errors : sum local = 2.60485e-32, global = 1.2182e-32, cumulative = 1.2182e-32
GAMG:  Solving for p, Initial residual = 2.25412e-08, Final residual = 1.0232e-08, No Iterations 1
GAMG:  Solving for p, Initial residual = 1.0232e-08, Final residual = 4.7361e-09, No Iterations 1
GAMG:  Solving for p, Initial residual = 4.7361e-09, Final residual = 2.29338e-09, No Iterations 1
time step continuity errors : sum local = 2.71579e-33, global = 1.35538e-33, cumulative = 1.35373e-32
GAMG:  Solving for p, Initial residual = 2.29338e-09, Final residual = 1.12708e-09, No Iterations 1
GAMG:  Solving for p, Initial residual = 1.12708e-09, Final residual = 5.88433e-10, No Iterations 1
GAMG:  Solving for p, Initial residual = 5.88433e-10, Final residual = 3.18289e-10, No Iterations 1
time step continuity errors : sum local = 3.76914e-34, global = 2.71028e-34, cumulative = 1.38084e-32
GAMG:  Solving for p, Initial residual = 3.18289e-10, Final residual = 1.84464e-10, No Iterations 1
GAMG:  Solving for p, Initial residual = 1.84464e-10, Final residual = 1.07738e-10, No Iterations 1
GAMG:  Solving for p, Initial residual = 1.07738e-10, Final residual = 6.30563e-11, No Iterations 1
time step continuity errors : sum local = 7.46702e-35, global = 5.33841e-35, cumulative = 1.38617e-32
Setting traction on solid patch
Total traction force = (2.34808e-24 8.64004e-23 0)


--> FOAM FATAL ERROR: 

    request for volVectorField U from objectRegistry solid failed
    available objects of type volVectorField are

11
(
DUPrevIter_0_0
DU_0_0
DV
Usolid
DUPrevIter_0
DU_0
DUPrevIter
DU
laplacian(interpolate((mu+lambda)),DU)
Vs
div(((((((mu*grad(DU).T())+(lambda*((1)*tr(grad(DU)))))+(mu*(grad(DU)&grad(DU).T())))+((0.5*lambda)*((1)*tr((grad(DU)&grad(DU).T())))))+(sigma&(((1)+grad(DU).T())-(1)).T()))+(DSigma&(((1)+grad(DU).T())-(1)).T())))
)


    From function objectRegistry::lookupObject<Type>(const word&) const
    in file /home/sxh/foam/foam-extend-3.0/src/foam/lnInclude/objectRegistryTemplates.C at line 139.

FOAM aborting

Aborted (core dumped)
I don't know what is wrong ? I think "volVectorField U from objectRegistry solid" should be Usolid ?
and another problem is I am not sure if the timeVaryingUniformFixedValue could get the fluid mesh move in icoFsiElasticNonLinULSolidFoam ? but I am sure the timeVaryingUniformFixedValue works ok in icoDyMFoam !
could you help me ?
thanks
Attached Images
File Type: jpg sketch map.jpg (38.7 KB, 55 views)
bieshuxuhe is offline   Reply With Quote

Reply

Tags
solidmechanics


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
Udl cantilever beam problem with ansys workbench assassin_s Structural Mechanics 1 March 26, 2019 14:51
one way FSI: large deflection of cantilever beam inside a microfluidic channel o_mars_2010 CFX 1 October 30, 2012 23:17
Fluidstructure interaction of a cantilever beam in wind pellrk03 OpenFOAM Pre-Processing 0 March 3, 2009 09:25
Fluidstructure interaction of a cantilever beam in wind pellrk03 OpenFOAM Pre-Processing 0 March 3, 2009 09:19
comsol cantilever beam problem bhu47 COMSOL 0 June 30, 2008 14:59


All times are GMT -4. The time now is 00:08.