18
icoStructFoam a fluid-structure interaction solver Philip Evegren

IcoStructFoam Presentation PhilipEvegren

Embed Size (px)

Citation preview

Page 1: IcoStructFoam Presentation PhilipEvegren

icoStructFoama fluid-structure interaction solver

Philip Evegren

Page 2: IcoStructFoam Presentation PhilipEvegren

CasesicoFoamicoFoam

constantconstant systemsystem 00

transportPropertiestransportProperties

polyMeshpolyMesh

controlDictcontrolDict

fvSchemesfvSchemes

fvSolutionfvSolution

pp

UU

solidDisplacementFoamsolidDisplacementFoam

constantconstant systemsystem 00

mechanicalPropertiesmechanicalProperties

polyMeshpolyMesh

controlDictcontrolDict

fvSchemesfvSchemes

fvSolutionfvSolution

DD

TT

thermalPropertiesthermalProperties

icoStructFoamicoStructFoam

constantconstant systemsystem 00

region1region1 region2region2 controlDictcontrolDict region1region1 region2region2 region1region1 region2region2

polyMeshpolyMesh

dynamicMeshDictdynamicMeshDict

transportPropertiestransportProperties

polyMeshpolyMesh

couplingParameterscouplingParameters

mechanicalPropertiesmechanicalProperties

thermalPropertiesthermalProperties

transportPropertiestransportProperties

fvSchemesfvSchemes

fvSolutionfvSolution

tetFemSolutiontetFemSolution

fvSchemesfvSchemes

fvSolutionfvSolution

pp

UU

cellDisplacementcellDisplacement

pointDisplacementpointDisplacement

cellMotioncellMotion

pointMotionpointMotion

DD

TT

Page 3: IcoStructFoam Presentation PhilipEvegren

Solvers

icoFoamicoFoam

icoFoam.CicoFoam.C

createFields.HcreateFields.H

MakeMake

filesfiles

optionsoptions

solidDisplacementFoamsolidDisplacementFoam

solidDisplacementFoam.CsolidDisplacementFoam.C

createFields.HcreateFields.H

MakeMake

filesfiles

optionsoptions

readSolidDisplacementFoamControls.HreadSolidDisplacementFoamControls.H

readThermalProperties.HreadThermalProperties.H

readMechanicalProperties.HreadMechanicalProperties.H

calculateStress.HcalculateStress.H

Page 4: IcoStructFoam Presentation PhilipEvegren

Solvers

icoStructFoamicoStructFoamicoStructFoam.CicoStructFoam.CcreateIcoFields.HcreateIcoFields.H

MakeMakefilesfiles

optionsoptionsreadStressedFoamControls.HreadStressedFoamControls.H

readThermalProperties.HreadThermalProperties.HreadMechanicalProperties.HreadMechanicalProperties.H

calculateStress.HcalculateStress.HcontinuityErrs.HcontinuityErrs.H

courantNo.HcourantNo.HcreateMeshes.HcreateMeshes.H

createMeshMotion.HcreateMeshMotion.HcreatePhi.HcreatePhi.H

createStructureFields.HcreateStructureFields.HreadCoupling.HreadCoupling.H

readPISOControls.HreadPISOControls.HreadSIMPLEControls.HreadSIMPLEControls.H

write.Hwrite.HtractionDisplacementtractionDisplacement

tractionDisplacementFvPatchVectorField.HtractionDisplacementFvPatchVectorField.HtractionDisplacementFvPatchVectorField.CtractionDisplacementFvPatchVectorField.C

Page 5: IcoStructFoam Presentation PhilipEvegren

Source code

Page 6: IcoStructFoam Presentation PhilipEvegren

Source code

Page 7: IcoStructFoam Presentation PhilipEvegren

Source code

Page 8: IcoStructFoam Presentation PhilipEvegren

Source code

Page 9: IcoStructFoam Presentation PhilipEvegren

Source code

Page 10: IcoStructFoam Presentation PhilipEvegren

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

Page 11: IcoStructFoam Presentation PhilipEvegren

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);

}

outlet{

typezeroGradient;

}}

dimensions [0 2 -2 0 0 0 0];

internalField uniform 0;

boundaryField{

bottom{

type zeroGradient;}

top{

type zeroGradient;}

frontAndBack{

type empty;}

inlet{

type zeroGradient;}

outlet{

type fixedValue;valueuniform 0;

}}

U p

Page 12: IcoStructFoam Presentation PhilipEvegren

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;}

outlet{

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;}

outlet{

type zeroGradient;}

}

Page 13: IcoStructFoam Presentation PhilipEvegren

Running a case• Boundary & initial conditions

region2

DcouplingParameters

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;valueuniform (0 0 0);

}

frontAndBack{

type empty;}

inlet{

// type tractionDisplacement;// traction uniform (0 0 0);// pressure uniform 0;

typefixedValue;

value uniform (0 0 0);}

outlet{

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;

// ************************************************************************* //

Page 14: IcoStructFoam Presentation PhilipEvegren

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

Page 15: IcoStructFoam Presentation PhilipEvegren

Running a case• Run by typing:

• Post-processing

foamToVTK . icoStructFoamTest -mesh region1

foamToVTK . icoStructFoamTest -mesh region2

Launch paraview

Page 16: IcoStructFoam Presentation PhilipEvegren

Running a caseDisplacement of solid region Displacement of fluid region

Page 17: IcoStructFoam Presentation PhilipEvegren

Running a caseStress field of solid region Pressure field of fluid region

Page 18: IcoStructFoam Presentation PhilipEvegren

Running a case

Velocity field of fluid region