icostructfoam
play

icoStructFoam a fluid-structure interaction solver Philip Evegren - PowerPoint PPT Presentation

icoStructFoam a fluid-structure interaction solver Philip Evegren Cases icoFoam icoFoam solidDisplacementFoam solidDisplacementFoam constant system 0 constant system 0 constant system 0 constant system 0 transportProperties


  1. icoStructFoam a fluid-structure interaction solver Philip Evegren

  2. Cases icoFoam icoFoam solidDisplacementFoam solidDisplacementFoam constant system 0 constant system 0 constant system 0 constant system 0 transportProperties controlDict p transportProperties controlDict p mechanicalProperties controlDict D mechanicalProperties controlDict D polyMesh fvSchemes U polyMesh fvSchemes U polyMesh fvSchemes T polyMesh fvSchemes T fvSolution fvSolution thermalProperties fvSolution thermalProperties fvSolution icoStructFoam icoStructFoam constant system 0 constant system 0 region1 region2 controlDict region1 region2 region1 region2 region1 region2 controlDict region1 region2 region1 region2 polyMesh polyMesh fvSchemes fvSchemes p D polyMesh polyMesh fvSchemes fvSchemes p D dynamicMeshDict couplingParameters fvSolution fvSolution U T dynamicMeshDict couplingParameters fvSolution fvSolution U T transportProperties mechanicalProperties tetFemSolution cellDisplacement transportProperties mechanicalProperties tetFemSolution cellDisplacement thermalProperties pointDisplacement thermalProperties pointDisplacement transportProperties cellMotion transportProperties cellMotion pointMotion pointMotion

  3. Solvers solidDisplacementFoam solidDisplacementFoam solidDisplacementFoam.C solidDisplacementFoam.C icoFoam icoFoam createFields.H createFields.H icoFoam.C icoFoam.C Make Make createFields.H createFields.H files files Make Make options options files files readSolidDisplacementFoamControls.H readSolidDisplacementFoamControls.H options options readThermalProperties.H readThermalProperties.H readMechanicalProperties.H readMechanicalProperties.H calculateStress.H calculateStress.H

  4. Solvers icoStructFoam icoStructFoam icoStructFoam.C icoStructFoam.C createIcoFields.H createIcoFields.H Make Make files files options options readStressedFoamControls.H readStressedFoamControls.H readThermalProperties.H readThermalProperties.H readMechanicalProperties.H readMechanicalProperties.H calculateStress.H calculateStress.H continuityErrs.H continuityErrs.H courantNo.H courantNo.H createMeshes.H createMeshes.H createMeshMotion.H createMeshMotion.H createPhi.H createPhi.H createStructureFields.H createStructureFields.H readCoupling.H readCoupling.H readPISOControls.H readPISOControls.H readSIMPLEControls.H readSIMPLEControls.H write.H write.H tractionDisplacement tractionDisplacement tractionDisplacementFvPatchVectorField.H tractionDisplacementFvPatchVectorField.H tractionDisplacementFvPatchVectorField.C tractionDisplacementFvPatchVectorField.C

  5. Source code

  6. Source code

  7. Source code

  8. Source code

  9. Source code

  10. Running a case • Download the solver using: svn checkout https://openfoam-extend.svn.sourceforge.net/svnroot/openfoam- extend/trunk/Breeder/solvers/other/IcoStructFoam/ • Compile the solver using wmake • Run the blockMesh utility

  11. Running a case dimensions [0 1 -1 0 0 0 0]; • Boundary & initial conditions region1 internalField uniform (0 0 0); dimensions [0 2 -2 0 0 0 0]; boundaryField { internalField uniform 0; bottom boundaryField { { type fixedValue; value uniform (0 0 0); bottom } { U p type zeroGradient; top } { type fixedValue; top value uniform (0 0 0); { } type zeroGradient; } frontAndBack { frontAndBack type empty; { } type empty; } inlet { inlet type fixedValue; { uniform (0.005 0 0); value type zeroGradient; } } outlet outlet { { type type fixedValue; zeroGradient; value } uniform 0; } } }

  12. Running a case • Boundary & initial conditions dimensions [0 1 0 0 0 0 0]; region1 dimensions [0 1 0 0 0 0 0]; internalField uniform (0 0 0); internalField uniform (0 0 0); boundaryField { boundaryField { bottom { bottom type fixedValue; { value uniform (0 0 0); type fixedValue; cD pD } value uniform (0 0 0); } top { top // type zeroGradient; { type fixedValue; type zeroGradient; value uniform (0 0 0); // type fixedValue; } // value uniform (0 0 0); } frontAndBack { frontAndBack type empty; { } type empty; } inlet { inlet type zeroGradient; { } type zeroGradient; } outlet { outlet type zeroGradient; { } type zeroGradient; } } }

  13. Running a case • Boundary & initial conditions dimensions [0 1 0 0 0 0 0]; region2 internalField uniform (0 0 0); boundaryField { bottom { type tractionDisplacement; traction uniform (0 0 0); couplingParameters pressure uniform 0; value uniform (0 0 0); D } top { type fixedValue; value uniform (0 0 0); } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // frontAndBack fluidSide top; { solidSide bottom; type empty; } startMeshMotion time [0 0 1 0 0 0 0] 0.1; motionRelaxation iTime [0 0 -1 0 0 0 0] 5; inlet { // type tractionDisplacement; // traction uniform (0 0 0); // ************************************************************************* // // pressure uniform 0; type fixedValue; value uniform (0 0 0); } outlet { type tractionDisplacement; traction uniform (0 0 0); pressure uniform 0; value uniform (0 0 0); } }

  14. Running a case // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // • Other properties applicationClass laplacianFoam; startFrom startTime; // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // startTime 0; twoDMotion yes; stopAt endTime; dynamicMeshDict //solver laplaceTetDecomposition; endTime 1; //diffusion quadratic patchEnhanced; deltaT 0.001; //frozenDiffusion off; writeControl runTime; //distancePatches writeInterval 0.01; //( //); cycleWrite 0; dynamicFvMesh dynamicMotionSolverFvMesh; controlDict writeFormat ascii; motionSolverLibs ("libfvMotionSolvers.so"); // motionSolverLibs ("libfvMotionSolvers.dylib"); writePrecision 6; solver displacementLaplacian; writeCompression uncompressed; diffusivity uniform; timeFormat general; timePrecision 6; // ************************************************************************* // runTimeModifiable yes; // ******************************************************************* ****** //

  15. Running a case • Run by typing: • Post-processing foamToVTK . icoStructFoamTest -mesh region1 foamToVTK . icoStructFoamTest -mesh region2 Launch paraview

  16. Running a case Displacement of solid region Displacement of fluid region

  17. Running a case Stress field of solid region Pressure field of fluid region

  18. Running a case Velocity field of fluid region

Recommend


More recommend