No, I actually ended up using MATLAB for some preprocessing (basically a script given to me by my supervisor, to massage the input data into our self-designed XML format), then C++ for the actual simulation and Julia for the postprocessing and analysis. Most of the time, it turned out, was spent on IO to the intermediate format used between C++ and Julia, so just writing it all in Julia would have been way faster :) I'll gladly share my code with you, if you think you can have use for it, and/or help porting it to Julia.
This is beginning to be real OT, though - we can continue this discussion in private instead. Ping me at my-first-name-dot-my-last-name at gmail ;) // T On Thursday, September 17, 2015 at 7:28:38 PM UTC+2, Luke Stagner wrote: > > Nice! What were you stuck using Matlab or IDL (IDL for me). I looked up > your masters thesis and it looks like we are in the same sub-field > (Energetic Particles). For my Ph.D thesis work I need to calculate orbits > in Constants of motion space so my plan was to write up some routines that > can handle magnetic equilibriums (read EFIT files, switching from different > flux coordinates, those sort of things) and implement this[1,2] guiding > center code in Julia. Are you still working in the field? > > [1] Ellison, C. Leland, et al. "Development of variational guiding center > algorithms for parallel calculations in experimental magnetic equilibria." > *Plasma > Physics and Controlled Fusion* 57.5 (2015): 054007. > > [2] https://github.com/lellison/NCSI_Basic > > On Thursday, September 17, 2015 at 12:06:06 AM UTC-7, Tomas Lycken wrote: >> >> Luke, >> >> I finished my Masters' Thesis work this past spring working with a C++ >> simulation for fusion plasma physics applications - during most of that >> time, I was clenching my teeth wishing I was allowed to use Julia >> instead. If you want any help with your Fusion Plasma Physics toolbox, ping >> me (@tlycken) on Github and I'll jump in where I can :) >> >> // T >> >> On Thursday, September 17, 2015 at 8:17:45 AM UTC+2, Sheehan Olver wrote: >>> >>> On what kind of domain? >>> >>> >>> On 17 Sep 2015, at 12:07 pm, Luke Stagner <[email protected]> wrote: >>> >>> It's actually a 2D non-linear, elliptic PDE (psi is a function of R,Z). >>> I'm thinking about created a Julia library for fusion/plasma physics and >>> the ability to quickly calculate magnetic equilibrium would be a killer >>> feature. >>> >>> >>> On Wednesday, September 16, 2015 at 6:46:09 PM UTC-7, Sheehan Olver >>> wrote: >>>> >>>> >>>> I’m having trouble reading the formulae, but I guess its a nonlinear >>>> PDE in 3D? Right now the package can only do nonlinear ODEs and linear >>>> PDEs on rectangles and disks. We’ll hopefully eventually extend it to >>>> nonlinear PDEs, and 3D PDEs. >>>> >>>> >>>> >>>> >>>> >>>> On 17 Sep 2015, at 11:40 am, Luke Stagner <[email protected]> wrote: >>>> >>>> Can this package be used to solve the Grad-Shafranov equation >>>> <https://en.wikipedia.org/wiki/Grad%E2%80%93Shafranov_equation>? >>>> >>>> >>>> On Wednesday, September 16, 2015 at 3:33:22 PM UTC-7, Sheehan Olver >>>> wrote: >>>>> >>>>> >>>>> ApproxFun is a package for approximating and solving differential >>>>> equations. ApproxFun v0.0.8 Adds (experimental) support for solving >>>>> nonlinear ODEs, using Newton iteration and automatic differentiation. >>>>> The >>>>> following example solves and plots a singularly perturbed nonlinear >>>>> two-point boundary value problem >>>>> >>>>> x=Fun() >>>>> u0=0.x # The initial guess for Newton iteration >>>>> >>>>> N=u->[u[-1.]-1.,u[1.]+0.5,0.001u''+6*(1-x^2)*u'+u^2-1.] >>>>> u=newton(N,u0) >>>>> >>>>> ApproxFun.plot(u) # Requires PyPlot or Gadfly >>>>> >>>>> >>>>> >>>>> Note: previous support for approximating functions on a disk has been >>>>> moved to a separate package: >>>>> >>>>> https://github.com/ApproxFun/DiskFun.jl >>>>> >>>>> And this will be the last version to support Julia 0.3! >>>>> >>>>> >>>> >>>
