|
[Sponsors] |
[solidMechanics] the dynamic response of cantilever beam under earthquake |
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
May 22, 2014, 11:20 |
the dynamic response of cantilever beam under earthquake
|
#1 |
Member
xuhe-openfoam
Join Date: Aug 2013
Location: DaLian,china
Posts: 82
Rep Power: 13 |
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 |
|
May 23, 2014, 10:40 |
|
#2 | |
Super Moderator
Philip Cardiff
Join Date: Mar 2009
Location: Dublin, Ireland
Posts: 1,093
Rep Power: 34 |
Quote:
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 |
||
May 28, 2014, 11:23 |
dam-reservoir interaction
|
#3 |
Member
xuhe-openfoam
Join Date: Aug 2013
Location: DaLian,china
Posts: 82
Rep Power: 13 |
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; } } // ************************************************************************* // 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 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) 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 |
|
Tags |
solidmechanics |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Udl cantilever beam problem with ansys workbench | assassin_s | Structural Mechanics | 1 | March 26, 2019 15:51 |
one way FSI: large deflection of cantilever beam inside a microfluidic channel | o_mars_2010 | CFX | 1 | October 31, 2012 00:17 |
Fluidstructure interaction of a cantilever beam in wind | pellrk03 | OpenFOAM Pre-Processing | 0 | March 3, 2009 10:25 |
Fluidstructure interaction of a cantilever beam in wind | pellrk03 | OpenFOAM Pre-Processing | 0 | March 3, 2009 10:19 |
comsol cantilever beam problem | bhu47 | COMSOL | 0 | June 30, 2008 15:59 |