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

icostructfoam
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

icoStructFoam

a fluid-structure interaction solver Philip Evegren

slide-2
SLIDE 2

Cases

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

slide-3
SLIDE 3

Solvers

icoFoam icoFoam icoFoam.C icoFoam.C createFields.H createFields.H Make Make files files

  • ptions
  • ptions

solidDisplacementFoam solidDisplacementFoam solidDisplacementFoam.C solidDisplacementFoam.C createFields.H createFields.H Make Make files files

  • ptions
  • ptions

readSolidDisplacementFoamControls.H readSolidDisplacementFoamControls.H readThermalProperties.H readThermalProperties.H readMechanicalProperties.H readMechanicalProperties.H calculateStress.H calculateStress.H

slide-4
SLIDE 4

Solvers

icoStructFoam icoStructFoam icoStructFoam.C icoStructFoam.C createIcoFields.H createIcoFields.H Make Make files files

  • ptions
  • ptions

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

slide-5
SLIDE 5

Source code

slide-6
SLIDE 6

Source code

slide-7
SLIDE 7

Source code

slide-8
SLIDE 8

Source code

slide-9
SLIDE 9

Source code

slide-10
SLIDE 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
slide-11
SLIDE 11

Running a case

  • Boundary & initial conditions

region1

dimensions [0 1 -1 0 0 0 0]; internalField uniform (0 0 0); boundaryField { bottom { type fixedValue; value uniform (0 0 0); } top { type fixedValue; value uniform (0 0 0); } frontAndBack { type empty; } inlet { type fixedValue; value uniform (0.005 0 0); }

  • utlet

{ type zeroGradient; } } dimensions [0 2 -2 0 0 0 0]; internalField uniform 0; boundaryField { bottom { type zeroGradient; } top { type zeroGradient; } frontAndBack { type empty; } inlet { type zeroGradient; }

  • utlet

{ type fixedValue; value uniform 0; } }

U p

slide-12
SLIDE 12

Running a case

  • Boundary & initial conditions

region1 cD pD

dimensions [0 1 0 0 0 0 0]; internalField uniform (0 0 0); boundaryField { bottom { type fixedValue; value uniform (0 0 0); } top { // type zeroGradient; type fixedValue; value uniform (0 0 0); } frontAndBack { type empty; } inlet { type zeroGradient; }

  • utlet

{ type zeroGradient; } } dimensions [0 1 0 0 0 0 0]; internalField uniform (0 0 0); boundaryField { bottom { type fixedValue; value uniform (0 0 0); } top { type zeroGradient; // type fixedValue; // value uniform (0 0 0); } frontAndBack { type empty; } inlet { type zeroGradient; }

  • utlet

{ type zeroGradient; } }

slide-13
SLIDE 13

Running a case

  • Boundary & initial conditions

region2 D couplingParameters

dimensions [0 1 0 0 0 0 0]; internalField uniform (0 0 0); boundaryField { bottom { type tractionDisplacement; traction uniform (0 0 0); pressure uniform 0; value uniform (0 0 0); } top { type fixedValue; value uniform (0 0 0); } frontAndBack { type empty; } inlet { // type tractionDisplacement; // traction uniform (0 0 0); // pressure uniform 0; type fixedValue; value uniform (0 0 0); }

  • utlet

{ type tractionDisplacement; traction uniform (0 0 0); pressure uniform 0; value uniform (0 0 0); } }

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // fluidSide top; solidSide bottom; startMeshMotion time [0 0 1 0 0 0 0] 0.1; motionRelaxation iTime [0 0 -1 0 0 0 0] 5; // ************************************************************************* //

slide-14
SLIDE 14

Running a case

  • Other properties

dynamicMeshDict

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

controlDict

slide-15
SLIDE 15

Running a case

  • Run by typing:
  • Post-processing

foamToVTK . icoStructFoamTest -mesh region1 foamToVTK . icoStructFoamTest -mesh region2

Launch paraview

slide-16
SLIDE 16

Running a case

Displacement of solid region Displacement of fluid region

slide-17
SLIDE 17

Running a case

Stress field of solid region Pressure field of fluid region

slide-18
SLIDE 18

Running a case

Velocity field of fluid region