|
[Sponsors] |
November 20, 2019, 15:18 |
solids4Foam + sixDoFRigidBodyDisplacement
|
#1 |
Senior Member
|
Hi dear foamers,
When I try to use sixDoFRigidBodyDisplacement boundary in pointDisplacement for a flexible dropping wedge, the solids4Foam solver gives me the error: "Unknown patchField type sixDoFRigidBodyDisplacement for patch type wall" So I wonder if sixDoFRigidBodyDisplacement is available in solids4Foam + foam-extend 4.1. If I use "solver velocityLaplacian" in dynamicMeshDict, I cannot set the mass, momentum ineria and others in pointMotionU. So I have to use "solver displacementLaplacian" with pointDisplacment boundary file. Anyone has any experiences? Thanks, Michael |
|
November 21, 2019, 06:40 |
|
#2 |
Super Moderator
Philip Cardiff
Join Date: Mar 2009
Location: Dublin, Ireland
Posts: 1,097
Rep Power: 34 |
In foam-extend, the sixDoFRigidBodyDisplacement pointPatchField is available in the "forces" library i.e. libforces.so.
So you should load this library in the case by adding the following line to the controlDict: Code:
libs ("libforces.so"); |
|
November 21, 2019, 11:26 |
|
#3 | |
Senior Member
|
Quote:
Selecting physicsModel fluidSolidInteraction Selecting fluidSolidInterface method Aitken Selecting fluidModel interFluid Selecting dynamicFvMesh dynamicMotionSolverFvMesh Selecting motion solver: displacementLaplacian --> FOAM FATAL IO ERROR: Unknown patchField type sixDoFRigidBodyDisplacement for patch type wall Valid patchField types are : 24 ( angularOscillatingDisplacement angularOscillatingVelocity calculated componentMixed cyclic empty fixedValue generic global mixed oscillatingDisplacement oscillatingFixedValue oscillatingVelocity processor slip surfaceDisplacement surfaceSlipDisplacement symmetryPlane timeVaryingUniformFixedValue timeVaryingVelocity uniformFixedValue value wedge zeroGradient ) |
||
November 21, 2019, 11:34 |
|
#4 |
Senior Member
|
It works if I just solve fluid problem with sixDoF motion (like floatingObject case), but when using fsi, this problem happens.
So I wonder if the interFluid solver supports this boundary condition. |
|
November 21, 2019, 13:16 |
|
#5 |
Super Moderator
Philip Cardiff
Join Date: Mar 2009
Location: Dublin, Ireland
Posts: 1,097
Rep Power: 34 |
Can you attach the entire log from the solver?
I am wondering if libforces.so was loaded. |
|
November 21, 2019, 14:08 |
|
#6 | |
Senior Member
|
Quote:
/*---------------------------------------------------------------------------*\ | ========= | | | \\ / F ield | foam-extend: Open Source CFD | | \\ / O peration | Version: 4.1 | | \\ / A nd | Web: http://www.foam-extend.org | | \\/ M anipulation | For copyright notice see file Copyright | \*---------------------------------------------------------------------------*/ Build : 4.1-7bc0c8b3d8fd Exec : solids4Foam Date : Nov 21 2019 Time : 11:06:27 Host : "cfd-me" PID : 16124 CtrlDict : "/home/michael/foam/michael-4.1/run/Flexible/fsiWedge20_elastic1_sys_fineGrid/system/controlDict" Case : /home/michael/foam/michael-4.1/run/Flexible/fsiWedge20_elastic1_sys_fineGrid nProcs : 1 sigFpe : Enabling floating point exception trapping (FOAM_SIGFPE). allowSystemOperations : Disallowing user-supplied system call operations // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // Create time /*---------------------------------------------------------------------------*\ | For further information on the solids4Foam toolbox implementations, | | please see the following publications: | | | | P. Cardiff, A Karac, P. De Jaeger, H. Jasak, J. Nagy, A. Ivankovic, | | Z. Tukovic: An open-source finite volume toolbox for solid mechanics and | | fluid-solid interaction simulations. arXiv:1808.10736v2, 2018, available | | at https://arxiv.org/abs/1808.10736. | | | | Z. Tukovic, A. Karac, P. Cardiff, H. Jasak, A. Ivankovic: OpenFOAM | | finite volume solver for fluid-solid interaction. Transactions of | | Famena, 42 (3), pp. 1-31, 2018, 10.21278/TOF.42301. | \*---------------------------------------------------------------------------*/ Selecting physicsModel fluidSolidInteraction Selecting fluidSolidInterface method Aitken Selecting fluidModel interFluid Selecting dynamicFvMesh dynamicMotionSolverFvMesh Selecting motion solver: displacementLaplacian //////////////////////////// The following is output on screen: michael@cfd-me:~/foam/michael-4.1/run/Flexible/fsiWedge20_elastic1_sys_fineGrid$ ./Allrun Running setSet on /home/michael/foam/michael-4.1/run/Flexible/fsiWedge20_elastic1_sys_fineGrid Running setsToZones on /home/michael/foam/michael-4.1/run/Flexible/fsiWedge20_elastic1_sys_fineGrid Running setSet on /home/michael/foam/michael-4.1/run/Flexible/fsiWedge20_elastic1_sys_fineGrid Running setsToZones on /home/michael/foam/michael-4.1/run/Flexible/fsiWedge20_elastic1_sys_fineGrid /*---------------------------------------------------------------------------*\ | ========= | | | \\ / F ield | foam-extend: Open Source CFD | | \\ / O peration | Version: 4.1 | | \\ / A nd | Web: http://www.foam-extend.org | | \\/ M anipulation | For copyright notice see file Copyright | \*---------------------------------------------------------------------------*/ Build : 4.1-7bc0c8b3d8fd Exec : setFields Date : Nov 21 2019 Time : 11:06:26 Host : "cfd-me" PID : 16119 CtrlDict : "/home/michael/foam/michael-4.1/run/Flexible/fsiWedge20_elastic1_sys_fineGrid/system/controlDict" Case : /home/michael/foam/michael-4.1/run/Flexible/fsiWedge20_elastic1_sys_fineGrid nProcs : 1 sigFpe : Enabling floating point exception trapping (FOAM_SIGFPE). allowSystemOperations : Disallowing user-supplied system call operations // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // Create time Time = 0 Create mesh for time = 0 Reading setFieldsDict Setting field default values Setting volScalarField alpha1 Setting field region values Adding cells with center within box (-999 -999 -999) (999 999 0) Setting volScalarField alpha1 End /*---------------------------------------------------------------------------*\ | ========= | | | \\ / F ield | foam-extend: Open Source CFD | | \\ / O peration | Version: 4.1 | | \\ / A nd | Web: http://www.foam-extend.org | | \\/ M anipulation | For copyright notice see file Copyright | \*---------------------------------------------------------------------------*/ Build : 4.1-7bc0c8b3d8fd Exec : solids4Foam Date : Nov 21 2019 Time : 11:06:27 Host : "cfd-me" PID : 16124 CtrlDict : "/home/michael/foam/michael-4.1/run/Flexible/fsiWedge20_elastic1_sys_fineGrid/system/controlDict" Case : /home/michael/foam/michael-4.1/run/Flexible/fsiWedge20_elastic1_sys_fineGrid nProcs : 1 sigFpe : Enabling floating point exception trapping (FOAM_SIGFPE). allowSystemOperations : Disallowing user-supplied system call operations // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // Create time /*---------------------------------------------------------------------------*\ | For further information on the solids4Foam toolbox implementations, | | please see the following publications: | | | | P. Cardiff, A Karac, P. De Jaeger, H. Jasak, J. Nagy, A. Ivankovic, | | Z. Tukovic: An open-source finite volume toolbox for solid mechanics and | | fluid-solid interaction simulations. arXiv:1808.10736v2, 2018, available | | at https://arxiv.org/abs/1808.10736. | | | | Z. Tukovic, A. Karac, P. Cardiff, H. Jasak, A. Ivankovic: OpenFOAM | | finite volume solver for fluid-solid interaction. Transactions of | | Famena, 42 (3), pp. 1-31, 2018, 10.21278/TOF.42301. | \*---------------------------------------------------------------------------*/ Selecting physicsModel fluidSolidInteraction Selecting fluidSolidInterface method Aitken Selecting fluidModel interFluid Selecting dynamicFvMesh dynamicMotionSolverFvMesh Selecting motion solver: displacementLaplacian --> FOAM FATAL IO ERROR: Unknown patchField type sixDoFRigidBodyDisplacement for patch type wall Valid patchField types are : 24 ( angularOscillatingDisplacement angularOscillatingVelocity calculated componentMixed cyclic empty fixedValue generic global mixed oscillatingDisplacement oscillatingFixedValue oscillatingVelocity processor slip surfaceDisplacement surfaceSlipDisplacement symmetryPlane timeVaryingUniformFixedValue timeVaryingVelocity uniformFixedValue value wedge zeroGradient ) file: /home/michael/foam/michael-4.1/run/Flexible/fsiWedge20_elastic1_sys_fineGrid/0/fluid/pointDisplacement::boundaryField::interface from line 36 to line 133. From function PointPatchField<PatchField, Mesh, PointPatch, MatrixType, Type>::New(const PointPatch&, const DimensionedField<Type, Mesh>&, const dictionary&) in file /home/michael/foam/foam-extend-4.1/src/foam/lnInclude/newPointPatchField.C at line 220. FOAM exiting |
||
November 21, 2019, 14:09 |
|
#7 |
Senior Member
|
constant/fluid/dynamicMeshDict
/*--------------------------------*- 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 dictionary; object dynamicMeshDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // dynamicFvMesh dynamicMotionSolverFvMesh; motionSolverLibs ("libfvMotionSolver.so"); //motionSolverLibs ("libsixDoFRigidBodyMotion.so"); //motionSolverLibs //( //"libfvMotionSolvers.so" //"libsixDoFRigidBodyMotion.so" //); //solver velocityLaplacian; solver displacementLaplacian; //diffusivity quadratic inverseDistance (interface); diffusivity inverseDistance (interface); // ************************************************** *********************** // |
|
November 21, 2019, 14:17 |
|
#8 | |
Senior Member
|
Quote:
I made it by adding the 'libforces.so'! Previously, I thought this lib is already included in the functionObjectLibs, actually, they are different. This lib has to be added explicitly outside the functions. They are different libs! Many thanks for your great help! Michael libs ( "libforces.so" ); functions { forces { type forces; region fluid; functionObjectLibs ( "libforces.so" ); outputControl timeStep; outputInterval 1; patches (interface); pName p; UName U; rhoName rhoInf; log true; rhoInf 1; CofR (0 0 0); } } |
||
November 21, 2019, 14:24 |
New errors about motion solver
|
#9 |
Senior Member
|
The sixDoFRigidDisplacement is recognized, but some new errors occur regarding that:
log.solids4Foam /*---------------------------------------------------------------------------*\ | ========= | | | \\ / F ield | foam-extend: Open Source CFD | | \\ / O peration | Version: 4.1 | | \\ / A nd | Web: http://www.foam-extend.org | | \\/ M anipulation | For copyright notice see file Copyright | \*---------------------------------------------------------------------------*/ Build : 4.1-7bc0c8b3d8fd Exec : solids4Foam Date : Nov 21 2019 Time : 11:19:06 Host : "cfd-me" PID : 16478 CtrlDict : "/home/michael/foam/michael-4.1/run/Flexible/fsiWedge20_elastic1_sys_fineGrid/system/controlDict" Case : /home/michael/foam/michael-4.1/run/Flexible/fsiWedge20_elastic1_sys_fineGrid nProcs : 1 sigFpe : Enabling floating point exception trapping (FOAM_SIGFPE). allowSystemOperations : Disallowing user-supplied system call operations // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // Create time /*---------------------------------------------------------------------------*\ | For further information on the solids4Foam toolbox implementations, | | please see the following publications: | | | | P. Cardiff, A Karac, P. De Jaeger, H. Jasak, J. Nagy, A. Ivankovic, | | Z. Tukovic: An open-source finite volume toolbox for solid mechanics and | | fluid-solid interaction simulations. arXiv:1808.10736v2, 2018, available | | at https://arxiv.org/abs/1808.10736. | | | | Z. Tukovic, A. Karac, P. Cardiff, H. Jasak, A. Ivankovic: OpenFOAM | | finite volume solver for fluid-solid interaction. Transactions of | | Famena, 42 (3), pp. 1-31, 2018, 10.21278/TOF.42301. | \*---------------------------------------------------------------------------*/ Selecting physicsModel fluidSolidInteraction Selecting fluidSolidInterface method Aitken Selecting fluidModel interFluid Selecting dynamicFvMesh dynamicMotionSolverFvMesh Selecting motion solver: displacementLaplacian Selecting motion diffusion: inverseDistance Reading g from constant directory Selecting incompressible transport model Newtonian Selecting incompressible transport model Newtonian Selecting turbulence model type RASModel Selecting RAS turbulence model kOmegaSST kOmegaSSTCoeffs { alphaK1 0.85; alphaK2 1; alphaOmega1 0.5; alphaOmega2 0.856; gamma1 0.555556; gamma2 0.44; beta1 0.075; beta2 0.0828; betaStar 0.09; a1 0.31; b1 1; c1 10; F3 false; } Resetting the dimensions of p Selecting solidModel linearGeometryTotalDisplacement Selecting dynamicFvMesh staticFvMesh Creating solidTraction boundary condition limiter coefficient: 1 Creating solidTraction boundary condition limiter coefficient: 1 Symmetry boundary condition with non-orthogonal correction Symmetry boundary condition with non-orthogonal correction Creating solidTraction boundary condition limiter coefficient: 1 Creating solidTraction boundary condition limiter coefficient: 1 Symmetry boundary condition with non-orthogonal correction Symmetry boundary condition with non-orthogonal correction under-relaxation method: fixed Creating the mechanicalModel Selecting mechanical law linearElastic --> FOAM Warning : From function findElements::findElements(const fvMesh&) in file probes/probes.C at line 111 Did not find location (0 0 0.001) in any cell. Skipping location. Creating pointDisp function object pointDisp: distance from specified point is 4.9e-05 Creating p0 function object p0: distance from specified point is 0.00885164 Creating p1 function object p1: distance from specified point is 0.000112171 Creating p2 function object p2: distance from specified point is 6.49216e-05 Creating p3 function object p3: distance from specified point is 5.18184e-05 Courant Number mean: 0 max: 0.249474 velocity magnitude: 1.245 deltaT = 0.0001 Time = 0.0001 Create GGI zone-to-zone interpolator Checking fluid-to-solid face interpolator Fluid-to-solid face interpolation error: 0.000224795 Checking solid-to-fluid point interpolator calcMasterPointAddressing() const Extended GGI, master point distance, max: 8.89597e-07, avg: -3.21957e-07, min: -2.08912e-06 Solid-to-fluid point interpolation error: 2.08912e-06 Number of uncovered master faces: 0 Number of uncovered slave faces: 0 calcSlavePointAddressing() const Extended GGI, slave point distance, max: 8.76686e-07, avg: -3.48228e-07, min: -1.99333e-06 Extended GGI, slave point orientation (<0), max: -0.999958, min: -1, nIncorrectPoints: 0/2102 Setting traction on solid patch Interpolating from fluid to solid using GGI/AMI interpolation Total force (fluid) = (2.17623e-24 -0.000532424 0.00146285) Total force (solid) = (-2.17643e-24 0.000532421 -0.00146284) Evolving solid solver Solving the momentum equation for D setCellDisplacements: reading cellDisplacements Corr, res, relRes, matRes, iters 100, 0.00700349, 0.000902449, 0, 0 200, 0.0118739, 0.000649986, 0, 0 300, 0.00238669, 0.00153087, 0, 0 400, 0.0120425, 4.51168e-05, 0, 0 500, 0.00107473, 0.000182391, 0, 0 600, 0.000741463, 0.000129435, 0, 0 The relative residual has converged 633, 9.98104e-05, 0, 0, 0 Interpolating from solid to fluid using GGI/AMI interpolation Interpolating from solid to fluid using GGI/AMI interpolation Current fsi relative residual norm: 1 Alternative fsi residual: 1 Time = 0.0001, iteration: 1 Current fsi under-relaxation factor (fixed): 0.24 Creating accumulated fluid interface displacement Maximal accumulated displacement of interface points: 6.67381e-06 screen output: Running setSet on /home/michael/foam/michael-4.1/run/Flexible/fsiWedge20_elastic1_sys_fineGrid Running setsToZones on /home/michael/foam/michael-4.1/run/Flexible/fsiWedge20_elastic1_sys_fineGrid Running setSet on /home/michael/foam/michael-4.1/run/Flexible/fsiWedge20_elastic1_sys_fineGrid Running setsToZones on /home/michael/foam/michael-4.1/run/Flexible/fsiWedge20_elastic1_sys_fineGrid /*---------------------------------------------------------------------------*\ | ========= | | | \\ / F ield | foam-extend: Open Source CFD | | \\ / O peration | Version: 4.1 | | \\ / A nd | Web: http://www.foam-extend.org | | \\/ M anipulation | For copyright notice see file Copyright | \*---------------------------------------------------------------------------*/ Build : 4.1-7bc0c8b3d8fd Exec : setFields Date : Nov 21 2019 Time : 11:19:06 Host : "cfd-me" PID : 16472 CtrlDict : "/home/michael/foam/michael-4.1/run/Flexible/fsiWedge20_elastic1_sys_fineGrid/system/controlDict" Case : /home/michael/foam/michael-4.1/run/Flexible/fsiWedge20_elastic1_sys_fineGrid nProcs : 1 sigFpe : Enabling floating point exception trapping (FOAM_SIGFPE). allowSystemOperations : Disallowing user-supplied system call operations // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // Create time Time = 0 Create mesh for time = 0 Reading setFieldsDict Setting field default values Setting volScalarField alpha1 Setting field region values Adding cells with center within box (-999 -999 -999) (999 999 0) Setting volScalarField alpha1 End /*---------------------------------------------------------------------------*\ | ========= | | | \\ / F ield | foam-extend: Open Source CFD | | \\ / O peration | Version: 4.1 | | \\ / A nd | Web: http://www.foam-extend.org | | \\/ M anipulation | For copyright notice see file Copyright | \*---------------------------------------------------------------------------*/ Build : 4.1-7bc0c8b3d8fd Exec : solids4Foam Date : Nov 21 2019 Time : 11:19:06 Host : "cfd-me" PID : 16478 CtrlDict : "/home/michael/foam/michael-4.1/run/Flexible/fsiWedge20_elastic1_sys_fineGrid/system/controlDict" Case : /home/michael/foam/michael-4.1/run/Flexible/fsiWedge20_elastic1_sys_fineGrid nProcs : 1 sigFpe : Enabling floating point exception trapping (FOAM_SIGFPE). allowSystemOperations : Disallowing user-supplied system call operations // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // Create time /*---------------------------------------------------------------------------*\ | For further information on the solids4Foam toolbox implementations, | | please see the following publications: | | | | P. Cardiff, A Karac, P. De Jaeger, H. Jasak, J. Nagy, A. Ivankovic, | | Z. Tukovic: An open-source finite volume toolbox for solid mechanics and | | fluid-solid interaction simulations. arXiv:1808.10736v2, 2018, available | | at https://arxiv.org/abs/1808.10736. | | | | Z. Tukovic, A. Karac, P. Cardiff, H. Jasak, A. Ivankovic: OpenFOAM | | finite volume solver for fluid-solid interaction. Transactions of | | Famena, 42 (3), pp. 1-31, 2018, 10.21278/TOF.42301. | \*---------------------------------------------------------------------------*/ Selecting physicsModel fluidSolidInteraction Selecting fluidSolidInterface method Aitken Selecting fluidModel interFluid Selecting dynamicFvMesh dynamicMotionSolverFvMesh Selecting motion solver: displacementLaplacian Selecting motion diffusion: inverseDistance Reading g from constant directory Selecting incompressible transport model Newtonian Selecting incompressible transport model Newtonian Selecting turbulence model type RASModel Selecting RAS turbulence model kOmegaSST kOmegaSSTCoeffs { alphaK1 0.85; alphaK2 1; alphaOmega1 0.5; alphaOmega2 0.856; gamma1 0.555556; gamma2 0.44; beta1 0.075; beta2 0.0828; betaStar 0.09; a1 0.31; b1 1; c1 10; F3 false; } Resetting the dimensions of p Selecting solidModel linearGeometryTotalDisplacement Selecting dynamicFvMesh staticFvMesh Creating solidTraction boundary condition limiter coefficient: 1 Creating solidTraction boundary condition limiter coefficient: 1 Symmetry boundary condition with non-orthogonal correction Symmetry boundary condition with non-orthogonal correction Creating solidTraction boundary condition limiter coefficient: 1 Creating solidTraction boundary condition limiter coefficient: 1 Symmetry boundary condition with non-orthogonal correction Symmetry boundary condition with non-orthogonal correction under-relaxation method: fixed Creating the mechanicalModel Selecting mechanical law linearElastic --> FOAM Warning : From function findElements::findElements(const fvMesh&) in file probes/probes.C at line 111 Did not find location (0 0 0.001) in any cell. Skipping location. Creating pointDisp function object pointDisp: distance from specified point is 4.9e-05 Creating p0 function object p0: distance from specified point is 0.00885164 Creating p1 function object p1: distance from specified point is 0.000112171 Creating p2 function object p2: distance from specified point is 6.49216e-05 Creating p3 function object p3: distance from specified point is 5.18184e-05 Courant Number mean: 0 max: 0.249474 velocity magnitude: 1.245 deltaT = 0.0001 Time = 0.0001 Create GGI zone-to-zone interpolator Checking fluid-to-solid face interpolator Fluid-to-solid face interpolation error: 0.000224795 Checking solid-to-fluid point interpolator calcMasterPointAddressing() const Extended GGI, master point distance, max: 8.89597e-07, avg: -3.21957e-07, min: -2.08912e-06 Solid-to-fluid point interpolation error: 2.08912e-06 Number of uncovered master faces: 0 Number of uncovered slave faces: 0 calcSlavePointAddressing() const Extended GGI, slave point distance, max: 8.76686e-07, avg: -3.48228e-07, min: -1.99333e-06 Extended GGI, slave point orientation (<0), max: -0.999958, min: -1, nIncorrectPoints: 0/2102 Setting traction on solid patch Interpolating from fluid to solid using GGI/AMI interpolation Total force (fluid) = (2.17623e-24 -0.000532424 0.00146285) Total force (solid) = (-2.17643e-24 0.000532421 -0.00146284) Evolving solid solver Solving the momentum equation for D setCellDisplacements: reading cellDisplacements Corr, res, relRes, matRes, iters 100, 0.00700349, 0.000902449, 0, 0 200, 0.0118739, 0.000649986, 0, 0 300, 0.00238669, 0.00153087, 0, 0 400, 0.0120425, 4.51168e-05, 0, 0 500, 0.00107473, 0.000182391, 0, 0 600, 0.000741463, 0.000129435, 0, 0 The relative residual has converged 633, 9.98104e-05, 0, 0, 0 Interpolating from solid to fluid using GGI/AMI interpolation Interpolating from solid to fluid using GGI/AMI interpolation Current fsi relative residual norm: 1 Alternative fsi residual: 1 Time = 0.0001, iteration: 1 Current fsi under-relaxation factor (fixed): 0.24 Creating accumulated fluid interface displacement Maximal accumulated displacement of interface points: 6.67381e-06 --> FOAM FATAL ERROR: Problem with fluid mesh motion solver selection From function fluidSolidInterface::moveFluidMesh() in file fluidSolidInterfaces/fluidSolidInterface/fluidSolidInterface.C at line 1593. FOAM aborting |
|
November 22, 2019, 05:05 |
|
#10 |
Super Moderator
Philip Cardiff
Join Date: Mar 2009
Location: Dublin, Ireland
Posts: 1,097
Rep Power: 34 |
Currently, for solids4Foam the fluid mesh motion solver needs to use the pointMotionU or motionU fields (pointDisplacement is not allowed).
I suggest you use the velocityLaplacian motion solver. It shouldn't be so difficult to extend solids4foam to use any fluid motion solver but it is on a long to-do list |
|
November 22, 2019, 09:33 |
|
#11 |
Member
Join Date: Apr 2011
Posts: 57
Rep Power: 15 |
Correct me if I'm wrong, but I don't think you need the sixDoF boundary. If you are doing FSI, apply velocity to the solid using the displacement boundary conditions (see the impactBar tutorial in the tutorials folder).
|
|
November 22, 2019, 10:00 |
|
#12 | |
Super Moderator
Philip Cardiff
Join Date: Mar 2009
Location: Dublin, Ireland
Posts: 1,097
Rep Power: 34 |
Quote:
I had presumed it was for some other boundary e.g. 6DoF for one solid and FSI for the other, however, this may not be the case. |
||
November 29, 2019, 13:46 |
|
#13 | |
Senior Member
|
Quote:
What I want to simulate is just similar to the floatingObject tutorial but the Object is flexible. So I try to extend this fluid only problem to a 2-way FSI problem. |
||
November 29, 2019, 14:11 |
|
#14 |
Senior Member
|
The key problem is the solid is in a compound motion: rigid body motion due to gravity and deformation due to impacting force. That makes me not know how to set the boundary conditions on the interface for both fluid and solids.
|
|
November 30, 2019, 10:18 |
|
#15 |
Super Moderator
Philip Cardiff
Join Date: Mar 2009
Location: Dublin, Ireland
Posts: 1,097
Rep Power: 34 |
Hi Michael@UW,
The impactBar case shows how to set an initial non-zero velocity for a solid. In your case, it sounds like it is fine to set the solid initial velocity as zero and let gravity force the solid to drop. Remember that you cannot set extra boundary conditions at the FSI interface; the FSI interface is a boundary condition (forces are balanced, and velocities/displacement are balanced). Philip |
|
January 17, 2020, 12:58 |
|
#16 |
Senior Member
|
Thank you for your suggestion. After studying the impactBar case, I think applying an initial velocity is an good idea. I have tested the case, it runs as almost expected. But there is a problem unsolved. Is there a way to set the mass manually which can be done in sixDOF boundary, since my solid part is simplified and the total mass including the ballast is larger than the density*volume? Can I just increase the density in the dictionary accordingly?
|
|
January 17, 2020, 13:19 |
|
#17 | |
Senior Member
|
Quote:
I tried to impose some motion on the interface manually through pointMotionU, but it failed. After reading the codes, I understand what you were talking about the FSI interface. It is an very important caution that FSI interface is moved according the solution! As I replied to "amanbearpig" in the last post, I would also ask you if it is a good way to set a fake density value of solid to account for the ballast. By the way, to view the deforming process (show the deformed shape), which vector should I use among "U", "pointD", and "pointDD" to warp? It seems "U" and "pointDD" give the same deformation, but they are different from "pointD". Thank you! Michael |
||
March 8, 2020, 18:10 |
|
#18 | |
Super Moderator
Philip Cardiff
Join Date: Mar 2009
Location: Dublin, Ireland
Posts: 1,097
Rep Power: 34 |
Quote:
Alternatively, if one patch of the solid was not part of the FSI patch, you could apply a force/traction here equal to the extra mass by gravity. Another option would be to add point/cell masses/forces into some cells in the solid. This is not yet implemented but would not be too difficult: just add a field to the momentum equation (just like rho*g) except this field will be zero everywhere except for cells in which you add the extra force. fvOptions would be ideal for this but I have yet to integrate it into the solid solvers. Philip |
||
March 8, 2020, 18:15 |
|
#19 | |
Super Moderator
Philip Cardiff
Join Date: Mar 2009
Location: Dublin, Ireland
Posts: 1,097
Rep Power: 34 |
Quote:
|
||
March 18, 2020, 19:30 |
moveFluidMesh() in solids4Foam does nothing?
|
#20 |
Senior Member
|
Hi Philip,
Can you help explain how the fsi solver actually moves the meshes of solid and fluid? 1. Can the solid mesh be moved by the solver? It seems staticFvMesh is used in all the tutorials for the solid part. 2. In all the fsi solvers inherited from fluidSolidInterface, I find the function moveFluidMesh seems to do nothing. Did I miss some codes? My finding is that moveFluidMesh is a virtual function in fluidSolidInterface, and is not overridden in the derived classes. For example, here is the code for Code:
bool AitkenCouplingInterface::evolve() { ... do { outerCorr()++; // Transfer the displacement from the solid to the fluid updateDisplacement(); // Move the fluid mesh moveFluidMesh(); // does nothing? // Solve fluid fluid().evolve(); // Transfer the force from the fluid to the solid // updateForce(); // Solve solid solid().evolve(); // Calculate the FSI residual residualNorm = updateResidual(); } while (residualNorm > outerCorrTolerance() && outerCorr() < nOuterCorr()); solid().updateTotalFields(); .... } Michael |
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
pimpleFoam is right, how about solids4Foam pimpleFluid? | amuzeshi | OpenFOAM Running, Solving & CFD | 6 | December 9, 2019 11:55 |
[solids4Foam] How to calculate drag coeff when using solids4Foam | amuzeshi | OpenFOAM CC Toolkits for Fluid-Structure Interaction | 15 | November 7, 2019 13:50 |
Fatal error in solids4Foam | brunomramoa | OpenFOAM CC Toolkits for Fluid-Structure Interaction | 1 | October 16, 2019 13:26 |
Overset FSI - pimpleOversetFluid is unknown to solids4Foam | amuzeshi | OpenFOAM CC Toolkits for Fluid-Structure Interaction | 2 | September 29, 2019 15:31 |
[FSI] solids4Foam vs icoFsiElasticNonLinULSolidFoam on HPC server | amuzeshi | OpenFOAM CC Toolkits for Fluid-Structure Interaction | 7 | August 31, 2019 06:26 |