ryanotago / obelix Goto Github PK
View Code? Open in Web Editor NEWMATLAB code for running RMHD plasma simulations
MATLAB code for running RMHD plasma simulations
Change all fft2 to fftn etc.
Sort out k_z vectors. Do these need to scale differently to k_x and k_y?
Add in del_z term that goes to 0 for 2D
Figure out initial conditions
Remove dealiasing from Poisson2D function to increase speed (Don't forget to readd!!)
Improve plotting. Sort out axes so doesn't have to be manually resized.
Maybe 2 different figures for z +/-?
Try optimising some of the fourier transforms, there are quite a few repeats currently which will be wasting time
CFL criteria: We want dt to scale appropriately, i.e small if high resolution required, large if not much is happening
Read about CFL condition/ Courant number
Implement variable time step into RMHD code
Check against fixed dt code!
Create z_parallel variable and implement evolution equations
Conservation of W_SW (Schekochihin 09)
Dispersion Relation: we need a way to check that (linear) waves propagate correctly (This includes Alfven waves)
We can do this by stopping zeta evolution and seeing how changing the parallel components affects the dispersion relation.
Decide how I'm saving my data through a run. Do we need to save snapshots of the entire cube at each 'savestep' or just at a few points? How continuous do we need this data to be?
We need time-series of density, velocity (parallel) and pressure.
In RMHD is there a difference between total pressure and the perp/parallel pressures in Verscharen's paper?!!
Figure out some kind of pipeline for this data into coherence analysis into plots.
Find a function in MATLAB that calculates the coherence of two time-series
Understand the analytic dispersion relations derived in Verscharen's paper
Test coherence function with a couple sine waves etc. Make sure I understand the output it's giving me
Read more into this wavelet analysis thing, is it worth it? Is it going to take a lot of time to understand when I could just use a Fourier transform
Create some initial plots of coherence coefficients (Xi, Chi, Psi) with summer simulation data. Is this what I expect?
Measure coherence in different wavenumber 'bins'. I.e determine coherence coefficients over spectrum so we can see if they change with scale.
Normalise initial conditions seperately
Come up with a better name for 'grid_int' the volume per gridpoint for integral calculations
Viscosity calculation. After determining ideal viscosity, change automatically with resolution of mesh. Need to check how it varies with other parameters
Plot dissipated energy del_t E = avg(nukperp^(2n)(zeta^pm)^2). I.e the amount of energy dissipated at each time step. Should look kinda like a bell curve. 'Best' turbulence happens around peak of curve.
Seems like there's a factor of 2pi missing in the time direction somewhere?
Plot spectra/energy in terms of u and b (not zeta). Also useful to plot in terms of vorticity (emphasises small scale)
Make sure there are no differences between the different RMHD_3D_* codes. Don't want previous mistakes to sneak back in. (Turbulence is most up to date!)
Need to clean up spectrum and plotting code. Try and automate more of the process,
In 'Initial Condition' section, add in 'SlowModes' condition instead of uncommenting slowmodes section
Add switch in Spectrum code to choose between time averaged/instantaneous spectra
Energy conservation. Check conserved quantities are actually conserved (Schekochihin 09)
Elsasser potential is 'conserved' (remembering loss from viscosity)
Linear (Alfven) Waves propagate appropriately
Check Poisson.m returns the correct output
Run some turbulence simulations (chuck a bunch of random sine waves together as an initial condition, should evolve into turbulence)
Measure 'Spectrum' (talk with Zade about this!)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.