# Category: Notes

## Convert Interactive Jupyter Notebook into a Website

Bla bla… here’s what you have to do: Install nbinteract: pip install nbinteract (even if you have anaconda installed, use pip) Create a git repo for your project – this is important otherwise nbinteract will NOT run Make your repo public Under settings, enable pages (so that you can host your code on your github.io) …

## Timestep and Cost Analysis of Pressure- and Density-Based Methods

Jupyter Notebook here: https://git.io/fjRjL PDF Article here: http://dx.doi.org/10.13140/RG.2.2.17472.58886 For an explicit compressible algorithm the maximum timestep one can take is dictated by both the advective and acoustic speeds in the flow. This is given by the famous CFL condition \begin{equation} V \frac{\delta t}{\Delta x} \leq 1 \end{equation} where $V$ is the maximum speed in the …

## The Amazing Taylor-Green Vortex

If you’ve worked in computational fluid dynamics, then you’re probably aware of the Taylor-Green vortex – at least the two-dimensional case. A simple google search will land you on this wikipedia page. The classic solution there is presented in the form \begin{equation} u = \cos x \sin y F(t);\quad v = -\sin x \cos y …

## How to Modify Video Speed with ffmpeg?

For Faster video speeds use: ffmpeg -i input.mov -filter:v “setpts=0.5*PTS” output.mov For Slower video speeds use: ffmpeg -i input.mov -filter:v “setpts=2*PTS” output.mov Note the factor multiplying PTS. If that factor is less than 1, then you get a faster video. The opposite otherwise. Thanks to: Modify Video Speed with ffmpeg

## Vector Graphics Plots using Matplotlib in Jupyter

Here’s a neat trick I learned today to display all matplotlib plots as vector format rather than raster in Jupyter notebooks:

## Convert IPython Notebook to Slides

Convert and display in place: jupyter-nbconvert –to slides mynotebook.ipynb –reveal-prefix=reveal.js –post serve Convert to html: jupyter-nbconvert –to slides mynotebook.ipynb –reveal-prefix=reveal.js as always, try: jupyter-nbconvert –help

## Jupyter Notebook doesn’t Automatically Open a Browser on OS X

This issue appears to have showed up on Sierra. Here’s a simple fix: Edit your bash profile (emacs ~/.bash_profile) Add export BROWSER=open Close your shell or source it (source ~/.bash_profile) Things should get back to normal now. Ref: https://github.com/conda/conda/issues/5408

## Copying Lists in Python

make sure you don’t fall into the trap of copying pointers in Python: import numpy as np a = np.zeros(2) print(“a = “, a) b = np.zeros(2) print(“b = “, b) b = a # this assignment is simply a pointer copy – b points to the same data pointed to by a a=33.33 # …

## How to Highlight Code in Keynote

First install a utility called highlight. It is available through macports and homebrew. sudo port install highlight Now that highlight is installed, you can “apply” it to a file and pipe it to the clipboard: highlight -O rtf MyCode.cpp | pbcopy Now go to Kenote and simply paste from clipboard (or command + v). Highlight …

## C++ – Calling Overloaded Operator () from Pointer

Here are three ways to call a C++ classes’ operator () using a pointer: Say you have a C++ class name MyClass that overloads the operator “()”, something along the lines: I use method 2.

## Convert Movie or Animation to Animated Gif

mkdir frames ffmpeg -i input -vf scale=320:-1:flags=lanczos,fps=10 frames/ffout%03d.png convert -loop 0 frames/ffout*.png -fuzz 20% -layers OptimizePlus output.gif Thanks to: http://superuser.com/questions/556029/how-do-i-convert-a-video-to-gif-using-ffmpeg-with-reasonable-quality

## Unbounded Kinetic Energy in Forward-Euler Inviscid Flows

Observation When using a forward-Euler method for the time integration of the momentum equation for an inviscid-flow, it appears that the kinetic energy of the flow grows unbounded in time, regardless of the timestep size. Problem Statement Estimate the change in total kinetic energy when using forward-Euler to integrate the Euler momentum equations in a periodic box. Approach To …

## List and Sort Files by Size

Find and sort all files > 1Mb in size, in current directory and subdirectories find . -size +1M -exec du -h {} \; | sort -nr

## Some Regex Notes

I happened to be dealing with a bunch of mallocs that look like this double* f =  (double*)malloc(sizeof(double)*nx*ny*nz); double* g = (double*)malloc(sizeof(double)*nx); double* h = (double*)malloc(sizeof(double)*nx*nz); I wanted to convert all of those those to use new, i.e. double* f = new double[nx*ny*nz] Using regex made all this possible search for: $double\*$malloc$sizeof$$double$\*(.*)$$ replace with: new …