Skip to content

Instantly share code, notes, and snippets.

@kailaix
kailaix / Burgers.jl
Created April 7, 2020 04:43
Finite difference for Burger's equation
using PyPlot
using ADCMEKit
NT = 2000
n = 100
Δt = 1.0/NT
Δx = 1/n
method = "Central"
@kailaix
kailaix / pwd.cpp
Created April 17, 2019 22:54
PWD in C++
std::string survey_fname;
std::string dir(__FILE__);
dir = dir.substr(0, dir.find_last_of("\\/"));
@kailaix
kailaix / run.sh
Created February 2, 2019 21:22
Running jobs in parallel
for n in 50 60 70 80 90 100
do
julia euro_main.jl $n 2>&1 | tee -a euro$n.log &
done
wait %1 %2 %3 %4 %5 %6
for n in 50 70 90 110 130 150
do
julia flap_main.jl $n 2>&1 | tee -a flap$n.log &
@kailaix
kailaix / cir.jl
Last active January 13, 2019 22:59
CIR Model
using LinearAlgebra
using PyPlot
using SparseArrays
# https://uu.diva-portal.org/smash/get/diva2:1148496/FULLTEXT01.pdf page 8
# https://regulation.pstat.ucsb.edu/sites/sa-wcmf6/5-Peng_ECIR_Model_Qidi.pdf page 13
# params
r0 = 0.5
L = 4.0
a = 1.0
@kailaix
kailaix / ppl.py
Last active December 29, 2018 20:07
A working example of Probabilistic Programming using Edward
# modified version from http://edwardlib.org/tutorials/
from tensorflow_probability import edward2 as ed
import tensorflow as tf
import tensorflow_probability as tfp
import numpy as np
def logistic_regression(features):
coeffs = ed.Normal(loc=0., scale=1.,
sample_shape=features.shape[1], name="coeffs")
outcomes = ed.Bernoulli(logits=tf.tensordot(features, coeffs, [[1], [0]]),
@kailaix
kailaix / CO2.png
Last active December 28, 2018 02:54
Predicting CO2 using PyTensorFlow
CO2.png
@kailaix
kailaix / mlp.jl
Last active December 25, 2018 21:58
Multilayer Perceptron in Julia
using TensorFlow
num_layers = 3 # number of hidden layer
nh = 20 # number of neurons per hidden layer
"""
neural(x, scope="default", reuse=false)
A Multilayer Perceptron with `num_layers` hidden layers. The last layer is a linear layer.
The neural network is enough to perform many useful approximations
"""
@kailaix
kailaix / wave.jl
Last active July 28, 2022 11:05
Example of 1D Wave Equation with Absorbing Boundary Condition
# solve 1D wave equation with ABC
using PyPlot
using Plots
using LinearAlgebra
N = 100
x = LinRange(-1.,1.,N+1)
Δx = x[2]-x[1]
NT = 200
@kailaix
kailaix / planestress.jl
Created December 22, 2018 04:40
Plane Stress: An Example of Assembler Programming
# This example solves the plane stress problem
# E/(2(1+ν)) ∇^2 u_1 + E/(2(1-ν)) * ∂/∂x ( ∂u_1/∂x + ∂u_2/∂y ) = f1
# E/(2(1+ν)) ∇^2 u_2 + E/(2(1-ν)) * ∂/∂y ( ∂u_1/∂x + ∂u_2/∂y ) = f2
# Exact solution = sin(πx)sin(πy)
# f1, f2, σ can be evaluated analytically
using LinearAlgebra
using PyPlot
import Plots
@kailaix
kailaix / assembler.jl
Created December 22, 2018 02:57
Assembler Programming
# This is an example of solving the Poisson problem using the Assembler Programming method
# (-Δ) u(x) = f(x)
# u(x) = 0, x ∈ [0,1]^2
# The exact solution is u(x,y) = sin(pi*x)sin(pi*y)
# and f(x,y) = 2pi^2 * sin(pi*x)sin(pi*y)
using PyPlot
import Plots
using PyCall
using SparseArrays