Zeljko Tukovic OFW09 P 0103

Embed Size (px)

Citation preview

  • 8/10/2019 Zeljko Tukovic OFW09 P 0103

    1/21

    OpenFOAM Library for

    Fluid Structure Interaction9th OpenFOAM Workshop - Zagreb, Croatia

    Zeljko Tukovic, P. Cardiff, A. Karac,H. Jasak, A. Ivankovic

    University of ZagrebFaculty of Mechanical Engineering and Naval Architecture

    [email protected]

    June 25, 2014

    http://find/http://goback/
  • 8/10/2019 Zeljko Tukovic OFW09 P 0103

    2/21

    Outline

    Objective

    Present new OpenFOAM library for fluid structureinteraction (FSI) simulation

    Present some general purpose numerical proceduresimplemented during FSI library development

    Topics

    Basic components of FSI library and example of FSI solver

    New parallel least squares volToPoint interpolation

    Vertex based Gauss gradient methodskewCorrected snGrad scheme

    Improved finite volume mesh motion solver

    Extended GGI interpolation

    Zeljko Tukovic, P. Cardiff, A. Karac, H. Jasak, A. Ivankovic fsiFoam

    http://find/
  • 8/10/2019 Zeljko Tukovic OFW09 P 0103

    3/21

    Previous FSI functionality

    icoFsiFoam solver

    Laminar flow of incompressible fluid calculated usingFVM solver on dynamic mesh using PISO procedureDeformation of solid described by small-strain totalLagrangian formulation and calculated using FVM solver

    Weak coupling between fluid and solidnewIcoFsiFoam (icoFsiElasticNonLinULSolidFoam) solver

    PISO dynamic mesh FVM solver for laminar flow ofincompressible fluidLarge-strain updated Lagrangian FVM solver fordeformation of elastic solidStrong coupling between fluid and solidCoupling schemes: fixed relaxation, Aitken, (IQN-ILS)Enabled parallel calculations

    Zeljko Tukovic, P. Cardiff, A. Karac, H. Jasak, A. Ivankovic fsiFoam

    http://find/
  • 8/10/2019 Zeljko Tukovic OFW09 P 0103

    4/21

    Concept of new FSI library

    Using object oriented approach, it is enabled selection of fluidflow solvers, stress analysis solvers and fsi coupling schemes.In such a way, it is facilitated addition of new solvers andcoupling schemes.

    All this is achieved by introducing following classes:

    1 class flowModel

    2 class stressModel

    3 class fluidStructureInterface

    Zeljko Tukovic, P. Cardiff, A. Karac, H. Jasak, A. Ivankovic fsiFoam

    http://find/
  • 8/10/2019 Zeljko Tukovic OFW09 P 0103

    5/21

    Basic components of FSI library

    Abstract base class flowModelclass flowModel

    :public IOdictionary

    {...

    //- Face zone viscous force (N/m2)

    virtual tmp faceZoneViscousForce

    (const label zoneID,const label patchID

    ) const = 0;

    //- Face zone pressure force (N/m2)virtual tmp faceZonePressureForce

    (

    const label zoneID,

    const label patchID) const = 0;

    //- Evolve the stress modelvirtual bool evolve() = 0;

    };

    Zeljko Tukovic, P. Cardiff, A. Karac, H. Jasak, A. Ivankovic fsiFoam

    http://find/
  • 8/10/2019 Zeljko Tukovic OFW09 P 0103

    6/21

    Basic components of FSI library

    Currently implemented flow models

    icoFlow

    Equivalent to icoDyMFoam solver without ddtPhiCorr

    consistentIcoFlow

    Equivalent to icoDyMFoam solver with consistentddtPhiCorr; Tukovic, Jasak, C&F, 2012.

    pisoFlow

    Equivalent to pisoFoam solver with dynamic mesh

    Zeljko Tukovic, P. Cardiff, A. Karac, H. Jasak, A. Ivankovic fsiFoam

    http://find/
  • 8/10/2019 Zeljko Tukovic OFW09 P 0103

    7/21

    Basic components of FSI library

    Abstract base class stressModelclass stressModel

    :public IOdictionary

    {...

    //- Face zone point displacement increment

    virtual tmp faceZonePointDisplacementIncrement

    (const label zoneID

    ) const = 0;

    //- Set traction at specified face zone

    virtual void setTraction(

    const label patchID,

    const label zoneID,

    const vectorField& faceZoneTraction) = 0 ;

    //- Evolve the stress modelvirtual bool evolve() = 0;

    };

    Zeljko Tukovic, P. Cardiff, A. Karac, H. Jasak, A. Ivankovic fsiFoam

    http://find/
  • 8/10/2019 Zeljko Tukovic OFW09 P 0103

    8/21

    Basic components of FSI library

    Currently implemented stress modelsunsTotalLagrangianStress

    Large strain elastic stress analysis solver based on totalLagrangian displacement formulation

    unsIncrTotalLagrangianStressLarge strain elastic stress analysis solver based on totalLagrangian displacement increment formulation

    New family of stress analysis solvers (uns-solvers) is introducedwhich is based on vertex based Gauss gradient calculationmethod and least squares volToPoint interpolation

    Zeljko Tukovic, P. Cardiff, A. Karac, H. Jasak, A. Ivankovic fsiFoam

    http://find/
  • 8/10/2019 Zeljko Tukovic OFW09 P 0103

    9/21

    Basic components of FSI library

    class fluidStructureInterface

    Extended GGI interpolation

    Allows face and point zone-to-zone interpolation fornon-conformal meshes at fsi interface

    Coupling schemes

    Fixed relaxationAitken dynamic relaxationIQN-ILS (implemented by J. Degroote, UGent)

    Setting boundary conditions for fluid mesh motion andhandling fluid global interface face zone

    Zeljko Tukovic, P. Cardiff, A. Karac, H. Jasak, A. Ivankovic fsiFoam

    http://find/http://goback/
  • 8/10/2019 Zeljko Tukovic OFW09 P 0103

    10/21

    Example of FSI solver

    fsiFoam partitioned strongly coupled FSI FVM solverfluidStructureInterface fsi(mesh, stressMesh);

    for (runTime++; !runTime.end(); runTime++){

    fsi.initializeFields();

    fsi.updateInterpolator();scalar residualNorm = 0;

    do

    {

    fsi.outerCorr()++;

    fsi.updateDisplacement(); // Using selected coupling schemefsi.moveFluidMesh();

    fsi.flow().evolve();

    fsi.updateForce(); // Face ggi interpolationfsi.stress().evolve();

    residualNorm =fsi.updateResidual(); // Point ggi interpolation

    }while

    ((residualNorm > fsi.outerCorrTolerance())

    && (fsi.outerCorr() < fsi.nOuterCorr()));

    }

    Zeljko Tukovic, P. Cardiff, A. Karac, H. Jasak, A. Ivankovic fsiFoam

    http://find/http://goback/
  • 8/10/2019 Zeljko Tukovic OFW09 P 0103

    11/21

    Extended GGI interpolation

    GGI interpolation is extended by allowing pointinterpolations between master and slave patches or zones

    Efficient point-addressing calculation using existingface-addressing

    i

    of point i interpolation addressing

    Faces searched during calculation

    Zeljko Tukovic, P. Cardiff, A. Karac, H. Jasak, A. Ivankovic fsiFoam

    http://find/http://goback/
  • 8/10/2019 Zeljko Tukovic OFW09 P 0103

    12/21

    Backward scheme for second temporal derivative

    Backward temporal discretization scheme was availableonly for first temporal derivative

    In order to allow unified temporal discretization for fluidand solid, backward discretization scheme is implementedfor second temporal derivative

    t

    t

    [m]P

    =3

    t

    [m]P 4

    t

    [m1]P

    +

    t

    [m2]P

    2t

    t

    [m]P

    =3

    [m]P 4

    [m1]P +

    [m2]P

    2t

    Zeljko Tukovic, P. Cardiff, A. Karac, H. Jasak, A. Ivankovic fsiFoam

    http://find/
  • 8/10/2019 Zeljko Tukovic OFW09 P 0103

    13/21

    volToPoint interpolation

    Calculation of mesh point values from cell-centre values isneeded in following cases:

    Cell-centred FVM mesh motion solver

    Cell-centred FVM updated Lagrangian

    stress analysis solversCell-centred FVM FSI solver

    Standard approach to calculate mesh point values in

    OpenFOAM is simple inverse distance weighted interpolationNew approach proposed by Philip Cardiff: least squaresmethod with linear interpolation function

    Zeljko Tukovic, P. Cardiff, A. Karac, H. Jasak, A. Ivankovic fsiFoam

    http://find/
  • 8/10/2019 Zeljko Tukovic OFW09 P 0103

    14/21

    Parallel least-squares volToPoint interpolation

    i

    i

    ij

    ik

    PROC-2PROC-1

    i3 i4

    i1i2

    WLS with linear fitfunction:

    (ri) = i0+ Ci (ri ri0)

    ri0 =n

    j=1

    wijrijnj=1 wij

    i0 =

    nj=1 wijij

    n

    j=1 wij

    Normal equations WLS

    Ci=

    (XTWX)1XTWi

    Zeljko Tukovic, P. Cardiff, A. Karac, H. Jasak, A. Ivankovic fsiFoam

    http://find/
  • 8/10/2019 Zeljko Tukovic OFW09 P 0103

    15/21

    Vertex based Gauss gradient method

    f

    c

    N

    df

    P

    VP

    z

    y

    x

    rP

    Sf

    j

    nf

    i

    n

    Se

    meLeCell-centre gradient:

    (

    )P=

    1

    VP

    nS

    Volume of polyhedral cell:

    VP=

    1

    3n rS

    Zeljko Tukovic, P. Cardiff, A. Karac, H. Jasak, A. Ivankovic fsiFoam

    http://find/
  • 8/10/2019 Zeljko Tukovic OFW09 P 0103

    16/21

    Vertex based Gauss gradient method

    Why we need tangential face-centre gradientin stress analysis?

    Traction vector for linear-elastic body

    t= (2 + )nu ( + )nut+ tun+ n tr (tut)

    t= (I nn) the tangential gradient operator

    Zeljko Tukovic, P. Cardiff, A. Karac, H. Jasak, A. Ivankovic fsiFoam

    http://find/
  • 8/10/2019 Zeljko Tukovic OFW09 P 0103

    17/21

    Vertex based Gauss gradient method

    f

    c

    N

    df

    P

    VP

    z

    y

    x

    rP

    Sf

    j

    nf

    i

    n

    Se

    meLe

    Tangential face-centre

    gradient:

    (t)f = 1

    Sf

    e

    meeLe

    Zeljko Tukovic, P. Cardiff, A. Karac, H. Jasak, A. Ivankovic fsiFoam

    C G

    http://find/
  • 8/10/2019 Zeljko Tukovic OFW09 P 0103

    18/21

    skewCorrected snGrad scheme

    kfN

    kfP

    f

    nf

    P

    N

    P

    dfn NkfP = (I nfnf)(rf rP)

    kfN = (I nfnf)(rN rf)

    dfn = nf (rN rP)

    Normal derivative at face-centre calculated with skewness andnon-orthogonal correction:

    nf ()f =N P

    dfn+kfN()N kfP()P

    dfn,

    Zeljko Tukovic, P. Cardiff, A. Karac, H. Jasak, A. Ivankovic fsiFoam

    I d FVM h i l

    http://find/
  • 8/10/2019 Zeljko Tukovic OFW09 P 0103

    19/21

    Improved FVM mesh motion solver

    Laplace mesh motion equation with variable diffusivity isdiscretized using cell-centred FVM with skewCorrected snGradscheme and volToPoint interpolation of displacement isperformed using new least-squares method

    Zeljko Tukovic, P. Cardiff, A. Karac, H. Jasak, A. Ivankovic fsiFoam

    V lid i f FSI lib

    http://./movies/hronTurekFvmMeshMotion.avihttp://find/http://goback/
  • 8/10/2019 Zeljko Tukovic OFW09 P 0103

    20/21

    Validation of FSI library

    Z. Tukovic, P. Cardiff, A. Karac, H. Jasak and A. Ivankovic: Parallel unstructured

    finite-volume method for fluid-structure interaction, manuscript in preparation (2014)

    1e+4 2e+4 3e+4 4e+4

    sigmaEq

    42.3 4.36e+04

    1 2U

    0 2.17

    2000 4000 6000 8000

    sigmaEq

    60.9 8.52e+03

    -0.4 0 0.4 0.8 1.2p

    -0.42 1.33

    200 400 600 800

    sigmaEq

    31.7 901

    0.02 0.04

    p

    0 0.0556

    Zeljko Tukovic, P. Cardiff, A. Karac, H. Jasak, A. Ivankovic fsiFoam

    C l i

    http://./movies/hronTurekFsi2_U_sigmaEq.avihttp://./movies/hronTurekFsi2_U_sigmaEq.avihttp://./movies/hronTurekFsi2_U_sigmaEq.avihttp://./movies/hronTurekFsi2_U_sigmaEq.avihttp://./movies/hronTurekFsi2_U_sigmaEq.avihttp://./movies/hronTurekFsi2_U_sigmaEq.avihttp://./movies/3dTube_p_sigmaEq.avihttp://./movies/3dTube_p_sigmaEq.avihttp://./movies/3dTube_p_sigmaEq.avihttp://./movies/3dTube_p_sigmaEq.avihttp://./movies/3dTube_p_sigmaEq.avihttp://./movies/3dTube_p_sigmaEq.avihttp://./movies/3dTube_p_sigmaEq.avihttp://./movies/3dTube_p_sigmaEq.avihttp://./movies/hronTurekFsi2_U_sigmaEq.avihttp://find/
  • 8/10/2019 Zeljko Tukovic OFW09 P 0103

    21/21

    Conclusions

    New FSI OpenFOAM library is developed and madeavailable to OpenFOAM community throughfoam-extend-3.1/extend-bazaar

    Using object oriented approach it is enabled easyextension of the library by adding new solvers andcoupling schemes

    Future work will be oriented toward development of

    monolithic fsi approach

    Zeljko Tukovic, P. Cardiff, A. Karac, H. Jasak, A. Ivankovic fsiFoam

    http://find/