Daniel Duque Campayo

Welcome to my personal website // Bienvenido a mi página personal

@dduque at Mastodon

Current links / Enlaces actuales

Daniel Duque Campayo

Old links / Enlaces históricos

  • UPM CFD course 2020/2021
  • UPM CFD course 2017/2018
  • UPM undergrad CFD course 2018/2019
  • UPM undergrad CFD course 2017/2018
  • UPM CFD course 2016/2017
  • Seminar on Camley and Brown's work
  • SPHeric 2018 talk
  • References



    Created with reveal.js, the HTML Presentation Framework

    Particle-in-cell idea

    “You don't have to move all your particles, you may keep some fixed, as in the old Particle-in-Cell method”

         J Monaghan, SPHeric 2015 at Parma
    Motivation picture
    Starting with particles + velocity values
    Motivation picture
    Let's project onto a fixed mesh
    Motivation picture
    Using some triangulation (pFEM style)
    Motivation picture
    The problem is on the mesh only
    Motivation picture
    We compute new velocities (and pressure)
    Motivation picture
    We project back onto the particles ...
    Motivation picture
    Particles are finally moved, Lagrangian-ly

    Possible advantages

    pFEM simulations


    p-FEM:
    particle + FEM

    proj-FEM:
    particle + ( mesh + FEM )

    The problem with projection

    Unfortunately, projection may spoil convergence
    $\frac{d A}{d t} = Q$      $ \frac{d r }{d t} = u $


    $ E= T $ $ (\Delta t)^2 $ $ \left( \ddot{Q} + \frac{Q'' u_0^2}{ \mathrm{Co}^2} \right) $ $ + \underbrace{T \color{red}{ (\Delta t)} A'' \frac{ u_0^2 }{ \mathrm{Co}_h^2} \left( 1+ \frac{1}{ m^2} \right) }_\mathrm{proj} $
    But, this can be fixed!

    Improving projection

    The former holds for linear projection !

    $ E= T \color{red}{ (\Delta t)^2 } \left( \ddot{Q} + \frac{Q'' u_0^2}{ \mathrm{Co}^2} \right) + \underbrace{T \color{red}{ (\Delta t) } A'' \frac{ u_0^2 }{ \mathrm{Co}_h^2} \left( 1+ \frac{1}{ m^2} \right) }_\mathrm{proj} $
    with a quadratic projection:
    $ E= T \color{red}{ (\Delta t)^2 } \left( \ddot{Q} + \frac{Q'' u_0^2}{ \mathrm{Co}^2} \right) + \underbrace{T \color{red}{ (\Delta t)^2 } A''' u_0^3 \left( \frac{1}{ \mathrm{Co}_H^3} + \frac{1}{ \mathrm{Co}_h^3} \right) }_\mathrm{proj} $

    ... or the offending term can be made small by particle crowding

    Zalesak's disk

    Linear FE Quad mesh Quad mesh + parts
    Equal parts. mesh
    Part crowding

    Taylor-Green vortex sheet


    pFEM

    projFEMq

    projFEMq

    projFEM6

    Errors for Taylor-Green

    Velocity err vs $\Delta t$

    Errors for Taylor-Green

    Pressure err vs $\Delta t$

    Errors for Taylor-Green

    Velocity err vs CPU time


    Errors for Taylor-Green

    Pressure err vs CPU time


    Rayleigh-Taylor instability


    pFEM

    projFEMq

    projFEM6

    OpenFOAM

    Extra: Kelvin-Helmholtz instability




    pFEM

    projFEMq

    Conclusions

    Thank you for your attention

    CGAL programming

    
    void areas(Triangulation& T) {
    
      for(F_f_it fc=T.finite_faces_begin();
          fc!=T.finite_faces_end();
          fc++) {
    
        Periodic_triangle pt=T.periodic_triangle(fc);
    
        Triangle t=T.triangle(pt);
    
        fc->area=t.area();
    
      }
    
      return;
    }