Skip to content

Commit 5d2e01d

Browse files
Merge pull request #1 from jhlq/master
Solutions for first week in Julia
2 parents fb718a9 + 66835da commit 5d2e01d

File tree

1 file changed

+1
-0
lines changed

1 file changed

+1
-0
lines changed

SolutionsWeek1.ipynb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{"nbformat_minor": 0, "cells": [{"execution_count": 9, "cell_type": "code", "source": "#Pkg.clone(\"https://github.com/jhlq/Equations.jl\")\n#Pkg.update()\nusing Equations\n\n#=\n \u03bbD is the Debye length, \n \u03b50 is the permittivity of free space, \n kB is Boltzmann's constant,\n qe is the charge on an electron, \n Te and Ti are the temperatures of the electrons and ions, respectively, multiplied by the Boltzmann's constant,\n ne is the density of electrons\n=#\n\nconstants=[:me\u22569.1094e-31,:qe\u22561.6022e-19,:kB\u22561.3807e-23,:\u03b50\u22568.8542e-12]\n\n# Solar wind\nne=:ne\u225610.0^7\nTe=:Te\u225610.0*:qe\nvariables=[ne,Te]\n# Debye length lD\nlD=:\u03bbD\u2256sqrt(:\u03b50*:Te/(:ne*:qe^2)) #valid when Te>>Ti\n# plasma frequency wp\nwp=:\u03c9p\u2256sqrt(:ne*:qe^2/(:\u03b50*:me))\n# particles in a debye cube ND\nND=:ND\u2256:ne*:\u03bbD^3\nprintln(lD&variables&constants)\nprintln(wp&lD&variables&constants)\nprintln(ND&lD&variables&constants)\n", "outputs": [{"output_type": "stream", "name": "stdout", "text": "\u03bbD \u2256 7.433892903446526\n\u03c9p \u2256 178400.95597166813\nND \u2256 4.108174668936227e9\n"}], "metadata": {"collapsed": false, "trusted": true}}, {"execution_count": 10, "cell_type": "code", "source": "println(\"Lightning\")\nne.rhs=10.0^23\nprintln(lD&variables&constants)\nprintln(wp&lD&variables&constants)\nprintln(ND&lD&variables&constants)\nprintln(\"Magnetic fusion plasma\")\nne.rhs=10.0^20\nTe.rhs=10.0^4*:qe\nprintln(lD&variables&constants)\nprintln(wp&lD&variables&constants)\nprintln(ND&lD&variables&constants)\nprintln(\"Magnetic fusion plasma\")\nne.rhs=10.0^17\nTe.rhs=10.0^4*:kB\nprintln(lD&variables&constants)\nprintln(wp&lD&variables&constants)\nprintln(ND&lD&variables&constants)\n", "outputs": [{"output_type": "stream", "name": "stdout", "text": "Lightning\n\u03bbD \u2256 7.433892903446526e-8\n\u03c9p \u2256 1.7840095597166812e13\nND \u2256 41.08174668936228\nMagnetic fusion plasma\n\u03bbD \u2256 7.433892903446526e-5\n\u03c9p \u2256 5.641533576218887e11\nND \u2256 4.108174668936228e7\nMagnetic fusion plasma\n\u03bbD \u2256 2.1822655603609336e-5\n\u03c9p \u2256 1.784009559716681e10\nND \u2256 1039.2566127081407\n"}], "metadata": {"collapsed": false, "trusted": true}}, {"execution_count": 11, "cell_type": "code", "source": "#parameters for solar core: ne=10^32, Te=10^7 => \u03bbD ~ 10^\u221211\nne.rhs=10.0^32\nTe.rhs=10.0^7*:kB\nprintln(lD&variables&constants)\nprintln(wp&lD&variables&constants)\nprintln(ND&lD&variables&constants)", "outputs": [{"output_type": "stream", "name": "stdout", "text": "\u03bbD \u2256 2.1822655603609335e-11\n\u03c9p \u2256 5.641533576218887e17\nND \u2256 1.0392566127081406\n"}], "metadata": {"collapsed": false, "trusted": true}}, {"execution_count": 12, "cell_type": "code", "source": "# Drifts\nve=:ve\u2256Cross(:E\u22a5,:B)/norm(:B)^2\nex=[1,0,0];ey=[0,1,0];ez=[0,0,1]\nB=:B\u2256:Bt*Vec(ez)\nBt=:Bt\u22561.5\nr=:r\u22561\ndBt=:dBt\u22560.3\nEperp=:E\u22a5\u2256-:r/2*:dBt*Vec(ey)\nvars=[B,Bt,Eperp,r,dBt]\nprintln(ve&vars)\nprintln(ve&Eperp&B)", "outputs": [{"output_type": "stream", "name": "stdout", "text": "ve \u2256 (-0.09999999999999999) Vec([1,0,0])\nve \u2256 (-0.5) dBt r \u2571(Bt) Vec([1,0,0])\n"}], "metadata": {"collapsed": false, "trusted": true}}, {"execution_count": 13, "cell_type": "code", "source": "equ=Equation\n\n# Compression factor\nop1=equ(:rt,:r0*sqrt(:Bz0/:Bzt))\nop3=equ(:rt,:r0*:Bzt/:Bz0)\n\nBpz=equ(:B\u0307z,0.1)\nBz0=equ(:Bz0,5)\nr0=equ(:r0,3)\nrp=equ(:r\u0307,-0.5*:r/:Bz*:B\u0307z)\nrp0=equ(:r\u03070,-0.5*:r0/:Bz0*:B\u0307z)\nvars=[rp0,Bpz,Bz0,r0]\nrd=equ(:r\u0394,:r0+:r\u03070)\nBzd=equ(:Bz\u0394,:Bz0+:B\u0307z)\nBzds=Bzd&vars\nrds=rd&rp0&vars\nrdn=(op1&equ(:Bzt,:Bz\u0394)&vars&Bzds).rhs #n=numeric\n\nnsteps=9\nrq=rd\nrqn=rds.rhs\nop1s=rdn\nBqn=Bzds.rhs\nfor step in 1:nsteps #q=r-1\n\trqp=-0.5/Bqn*rq.rhs*:B\u0307z\n\trr=equ(symbol(\"r$(step)\u0394\"),rqn+rqp)\n\trrs=rr&vars\n\tprint(rrs,\" \\t\")\n\tBr=equ(symbol(\"Bz$(step)\u0394\"),Bqn+:B\u0307z)\n\tBrs=Br&vars\n\tprintln((op1&equ(:Bzt,symbol(\"Bz$(step)\u0394\"))&vars&Brs))\n\tBqn=Brs.rhs\n\trqn=rrs.rhs\nend\n", "outputs": [{"output_type": "stream", "name": "stdout", "text": "r1\u0394 \u2256 2.940882352941176 \trt \u2256 2.9417420270727606\nr2\u0394 \u2256 2.912324660633484 \trt \u2256 2.913857587071793\nr3\u0394 \u2256 2.8843057927089557 \trt \u2256 2.886751345948129\nr4\u0394 \u2256 2.856805792708956 \trt \u2256 2.8603877677367775\nr5\u0394 \u2256 2.8298057927089557 \trt \u2256 2.8347335475692046\nr6\u0394 \u2256 2.8032879355660985 \trt \u2256 2.8097574347450824\nr7\u0394 \u2256 2.777235303987151 \trt \u2256 2.785430072655779\nr8\u0394 \u2256 2.751631855711289 \trt \u2256 2.7617238536949706\nr9\u0394 \u2256 2.726462364185865 \trt \u2256 2.7386127875258315\n"}], "metadata": {"collapsed": false, "trusted": true}}, {"execution_count": 14, "cell_type": "code", "source": "# Temperatures\nEkin=equ(:Ekin,0.5*:Tpa+:Tpe)\nparfac=1\nTpa1=equ(:Tpa1,parfac*:T0) #is parallel temperature affected?\nTpe1=equ(:Tpe1,2*:T0)\nprintln(Tpa1,\", \",Tpe1)\nEk1=equ(:Ek1,0.5*:Tpa1+:Tpe1)\nEk2=equ(:Ek1,0.5*:T2+:T2)\nEk1s=Ek1&Tpa1&Tpe1 #s=solved\nT2=(Ek2&Ek1s)/1.5\nprintln(T2)\nTpa3=equ(:Tpa3,1/parfac*:T2) #is it?\nTpe3=equ(:Tpe3,:T2/2)\nEk3=equ(:Ek3,0.5*:Tpa3+:Tpe3)\nEkf=[equ(:Ekf,0.5*:Tf+:Tf),equ(:Ekf,:Ek3)]\nTf=(Ekf[1]&Ekf[2]&Ek3&Tpa3&Tpe3&T2)/1.5\nprintln(Tf) #nope\n", "outputs": [{"output_type": "stream", "name": "stdout", "text": "Tpa1 \u2256 1 T0, Tpe1 \u2256 2 T0\nT2 \u2256 1.6666666666666665 T0\nTf \u2256 1.111111111111111 T0\n"}], "metadata": {"collapsed": false, "trusted": true}}], "nbformat": 4, "metadata": {"kernelspec": {"display_name": "Julia 0.3.6", "name": "julia 0.3", "language": "julia"}, "language_info": {"version": "0.3.6", "name": "julia"}}}

0 commit comments

Comments
 (0)