Code Monkey home page Code Monkey logo

resolvent's Introduction

This series of MATLAB functions and scripts performs the resolvent analysis proposed by Dr. Beverley McKeon and Dr. Ati Sharma (see McKeon, B.J. and Sharma, A.S., 2010, A critical-layer framework for turbulent pipe flow. Journal of Fluid Mechanics, 658, 336-382), and offers a few related utilities.  

McKeon and Sharma (2010) employed a projection onto a series of divergence-free basis functions to satisfy mass continuity and eliminate the pressure term in the Navier-Stokes equations, following Meseguer and Trefethen (2003, Linearized pipe flow to Reynolds number 10^7, Journal of Computational Physics, 186 (1): 178-197).  The software provided here does not employ this projection.  The Navier-Stokes resolvent is formulated in terms of primitive variables -- pressure and mass continuity are retained explicitly.  This provides some information on the pressure field, and also allows for more flexibility on the boundary conditions imposed.

In general, the code has been designed to be modular, so that changes in geometry, boundary conditions etc., can be incorporated without too much trouble.  All the functions should be relatively well commented, with lists of inputs and outputs.  In case of any confusion, do not hesitate to contact Mitul ([email protected]).

-----
List of Functions 

1) resolventSVD - constructs the discretized resolvent operator (using a collocation method) and performs a singular value decomposition of the resolvent operator, returning a (user-defined) number of forcing and response modes.  It calls functions 2-5

2) pipeCoords: generates the coordinate system and differentiation matrices

3) pipeVel: generates the mean velocity profile used in the resolvent operator.  This needs the log-interpolated velocity profiles in allProfilesLogInterp.txt  (data for Re > 75000 from Princeton superpipe experiments, and for Re = 5000-44000 from Wu and Moin DNS).

4) pipeOperators: generates the linear Navier-Stokes operator and the mass matrix

5) pipeBC: imposes the appropriate no-slip and no-through-flow boundary conditions at the wall.  Optionally, it can also be used to impose boundary conditions corresponding to amplitude- and phase-varying opposition control

6) chebdif - Written by J.A.C. Weideman and S.C. Reddy, generates the appropriate differencing matrices (called in pipeCoords).

7) clencurt - Written by Lloyd Trefethen, generates integration weights (called in pipeCoords)

8) fourier2physical - utility that generates the physical velocity field from the resolvent modes

9) pipeGreenFn - utility that generates the Green's function for the pressure Poisson equation in cylindrical coordinates

10) pipeUGT - utility that calculates the fourier-transformed velocity gradient tensor for the pipes (i.e., not in physical space)

11) pipePacketSwirl - utility that calculates the swirl field for a packet of resolvent modes

-----
Developed by Mitul Luhar*, Beverley McKeon*, and Ati Sharma+. 
Written and maintained by Mitul Luhar ([email protected], [email protected])

* Graduate Aerospace Laboratories, California Institute of Technology
+ Engineering and the Environment, University of Southampton

SEE ATTACHED LICENSING AGREEMENT

resolvent's People

Stargazers

Al Shahriar avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.