# GEMPIC ### Geometric ElectroMagnetic Particle-In-Cell Methods https://arxiv.org/abs/1609.03053 Michael Kraus, Katharina Kormann, Philip J. Morrison, Eric Sonnendrücker Framework for Finite Element Particle-in-Cell methods based on the discretization of the underlying Hamiltonian structure of the Vlasov-Maxwell system. Install the GEMPIC package ```julia using Pkg Pkg.add(PackageSpec(url="https://github.com/juliavlasov/GEMPIC.jl")); using ProgressMeter, Plots, GEMPIC ``` ``` Updating git-repo `https://github.com/juliavlasov/GEMPIC.jl` [?25l[2K[?25h Updating git-repo `https://github.com/juliavlasov/GEMPIC.jl` [?25l[2K[?25h Resolving package versions... Updating `~/.julia/environments/v1.2/Project.toml` [no changes] Updating `~/.julia/environments/v1.2/Manifest.toml` [no changes] ``` --- # Strong Landau Damping The physical parameters ```julia kx, α = 0.5, 0.5 xmin, xmax = 0, 2π/kx domain = [xmin, xmax, xmax - xmin] ``` ``` 3-element Array{Float64,1}: 0.0 12.566370614359172 12.566370614359172 ``` -- The numerical parameters ```julia ∆t = 0.05 nx = 32 n_particles = 100000 mesh = GEMPIC.Mesh( xmin, xmax, nx) spline_degree = 3 ``` ``` 3 ``` --- Initialize particles ```julia mass, charge = 1.0, 1.0 particle_group = GEMPIC.ParticleGroup{1,2}( n_particles, mass, charge, 1) sampler = LandauDamping( α, kx) sample!(sampler, particle_group) ``` -- Particle-mesh coupling operators ```julia kernel_smoother1 = ParticleMeshCoupling( domain, [nx], n_particles, spline_degree-1, :galerkin) kernel_smoother0 = ParticleMeshCoupling( domain, [nx], n_particles, spline_degree, :galerkin) ``` Allocate electrostatic fields and Maxwell solver ```julia rho = zeros(Float64, nx) efield_poisson = zeros(Float64, nx) maxwell_solver = Maxwell1DFEM(domain, nx, spline_degree) solve_poisson!( efield_poisson, particle_group, kernel_smoother0, maxwell_solver, rho) ``` --- ### Charge density ```julia xg = LinRange(xmin, xmax, nx) sval = eval_uniform_periodic_spline_curve(spline_degree-1, rho) plot( xg, sval, label="ρ") ``` ![](rho.svg) --- ### Electric field ```julia sval = eval_uniform_periodic_spline_curve(spline_degree-1, efield_poisson) plot( xg, sval, label="efield") ``` ![](ex.svg) --- Initialize the arrays for the spline coefficients of the fields ```julia efield_dofs = [copy(efield_poisson), zeros(Float64, nx)] bfield_dofs = zeros(Float64, nx) propagator = HamiltonianSplitting( maxwell_solver, kernel_smoother0, kernel_smoother1, particle_group, efield_dofs, bfield_dofs, domain); efield_dofs_n = propagator.e_dofs thdiag = TimeHistoryDiagnostics( particle_group, maxwell_solver, kernel_smoother0, kernel_smoother1 ); ``` --- ## Loop over time ```julia steps, Δt = 500, 0.05 @showprogress 1 for j = 1:steps # loop over time # Strang splitting strang_splitting!(propagator, Δt, 1) # Diagnostics solve_poisson!( efield_poisson, particle_group, kernel_smoother0, maxwell_solver, rho) write_step!(thdiag, j * Δt, spline_degree, efield_dofs, bfield_dofs, efield_dofs_n, efield_poisson) end ``` ``` Progress: 0%|▏ | ETA: 0:06:01[K Progress: 1%|▍ | ETA: 0:05:57[K Progress: 1%|▌ | ETA: 0:05:57[K Progress: 2%|▋ | ETA: 0:05:55[K Progress: 2%|▉ | ETA: 0:05:54[K Progress: 2%|█ | ETA: 0:05:52[K Progress: 3%|█▏ | ETA: 0:05:50[K Progress: 3%|█▎ | ETA: 0:05:49[K Progress: 4%|█▌ | ETA: 0:05:47[K Progress: 4%|█▋ | ETA: 0:05:46[K Progress: 4%|█▊ | ETA: 0:05:44[K Progress: 5%|██ | ETA: 0:05:43[K Progress: 5%|██▏ | ETA: 0:05:41[K Progress: 6%|██▎ | ETA: 0:05:40[K Progress: 6%|██▌ | ETA: 0:05:38[K Progress: 6%|██▋ | ETA: 0:05:37[K Progress: 7%|██▊ | ETA: 0:05:35[K Progress: 7%|███ | ETA: 0:05:34[K Progress: 8%|███▏ | ETA: 0:05:32[K Progress: 8%|███▎ | ETA: 0:05:31[K Progress: 8%|███▌ | ETA: 0:05:29[K Progress: 9%|███▋ | ETA: 0:05:28[K Progress: 9%|███▊ | ETA: 0:05:27[K Progress: 10%|███▉ | ETA: 0:05:25[K Progress: 10%|████▏ | ETA: 0:05:24[K Progress: 10%|████▎ | ETA: 0:05:24[K Progress: 11%|████▍ | ETA: 0:05:23[K Progress: 11%|████▋ | ETA: 0:05:22[K Progress: 12%|████▊ | ETA: 0:05:21[K Progress: 12%|████▉ | ETA: 0:05:20[K Progress: 12%|█████▏ | ETA: 0:05:20[K Progress: 13%|█████▎ | ETA: 0:05:19[K Progress: 13%|█████▍ | ETA: 0:05:18[K Progress: 14%|█████▋ | ETA: 0:05:16[K Progress: 14%|█████▊ | ETA: 0:05:15[K Progress: 14%|█████▉ | ETA: 0:05:14[K Progress: 15%|██████▏ | ETA: 0:05:13[K Progress: 15%|██████▎ | ETA: 0:05:11[K Progress: 16%|██████▍ | ETA: 0:05:10[K Progress: 16%|██████▌ | ETA: 0:05:09[K Progress: 16%|██████▊ | ETA: 0:05:07[K Progress: 17%|██████▉ | ETA: 0:05:06[K Progress: 17%|███████ | ETA: 0:05:05[K Progress: 18%|███████▎ | ETA: 0:05:03[K Progress: 18%|███████▍ | ETA: 0:05:02[K Progress: 18%|███████▌ | ETA: 0:05:00[K Progress: 19%|███████▊ | ETA: 0:05:02[K Progress: 19%|███████▊ | ETA: 0:05:04[K Progress: 19%|███████▉ | ETA: 0:05:05[K Progress: 19%|████████ | ETA: 0:05:06[K Progress: 20%|████████ | ETA: 0:05:07[K Progress: 20%|████████▏ | ETA: 0:05:09[K Progress: 20%|████████▎ | ETA: 0:05:10[K Progress: 20%|████████▍ | ETA: 0:05:08[K Progress: 21%|████████▌ | ETA: 0:05:06[K Progress: 21%|████████▊ | ETA: 0:05:04[K Progress: 22%|████████▉ | ETA: 0:05:03[K Progress: 22%|█████████ | ETA: 0:05:01[K Progress: 22%|█████████▏ | ETA: 0:05:00[K Progress: 23%|█████████▎ | ETA: 0:05:01[K Progress: 23%|█████████▍ | ETA: 0:05:02[K Progress: 23%|█████████▍ | ETA: 0:05:03[K Progress: 23%|█████████▌ | ETA: 0:05:04[K Progress: 23%|█████████▋ | ETA: 0:05:04[K Progress: 24%|█████████▋ | ETA: 0:05:05[K Progress: 24%|█████████▊ | ETA: 0:05:06[K Progress: 24%|█████████▉ | ETA: 0:05:06[K Progress: 24%|█████████▉ | ETA: 0:05:07[K Progress: 25%|██████████▏ | ETA: 0:05:04[K Progress: 25%|██████████▎ | ETA: 0:05:02[K Progress: 25%|██████████▍ | ETA: 0:05:00[K Progress: 26%|██████████▋ | ETA: 0:04:58[K Progress: 26%|██████████▊ | ETA: 0:04:56[K Progress: 27%|██████████▉ | ETA: 0:04:54[K Progress: 27%|███████████ | ETA: 0:04:54[K Progress: 27%|███████████▏ | ETA: 0:04:55[K Progress: 27%|███████████▏ | ETA: 0:04:55[K Progress: 27%|███████████▎ | ETA: 0:04:55[K Progress: 28%|███████████▍ | ETA: 0:04:56[K Progress: 28%|███████████▍ | ETA: 0:04:56[K Progress: 28%|███████████▌ | ETA: 0:04:56[K Progress: 28%|███████████▌ | ETA: 0:04:56[K Progress: 28%|███████████▋ | ETA: 0:04:56[K Progress: 29%|███████████▊ | ETA: 0:04:57[K Progress: 29%|███████████▉ | ETA: 0:04:55[K Progress: 29%|████████████ | ETA: 0:04:53[K Progress: 30%|████████████▎ | ETA: 0:04:50[K Progress: 30%|████████████▍ | ETA: 0:04:48[K Progress: 31%|████████████▌ | ETA: 0:04:46[K Progress: 31%|████████████▊ | ETA: 0:04:44[K Progress: 31%|████████████▉ | ETA: 0:04:42[K Progress: 32%|█████████████ | ETA: 0:04:39[K Progress: 32%|█████████████▎ | ETA: 0:04:37[K Progress: 33%|█████████████▍ | ETA: 0:04:36[K Progress: 33%|█████████████▌ | ETA: 0:04:36[K Progress: 33%|█████████████▌ | ETA: 0:04:36[K Progress: 33%|█████████████▋ | ETA: 0:04:36[K Progress: 33%|█████████████▊ | ETA: 0:04:35[K Progress: 34%|█████████████▊ | ETA: 0:04:35[K Progress: 34%|█████████████▉ | ETA: 0:04:35[K Progress: 34%|██████████████ | ETA: 0:04:35[K Progress: 34%|██████████████ | ETA: 0:04:35[K Progress: 35%|██████████████▏ | ETA: 0:04:33[K Progress: 35%|██████████████▍ | ETA: 0:04:31[K Progress: 35%|██████████████▌ | ETA: 0:04:30[K Progress: 36%|██████████████▋ | ETA: 0:04:30[K Progress: 36%|██████████████▋ | ETA: 0:04:30[K Progress: 36%|██████████████▊ | ETA: 0:04:30[K Progress: 36%|██████████████▉ | ETA: 0:04:30[K Progress: 36%|██████████████▉ | ETA: 0:04:30[K Progress: 37%|███████████████ | ETA: 0:04:29[K Progress: 37%|███████████████▏ | ETA: 0:04:29[K Progress: 37%|███████████████▏ | ETA: 0:04:29[K Progress: 37%|███████████████▍ | ETA: 0:04:27[K Progress: 38%|███████████████▌ | ETA: 0:04:25[K Progress: 38%|███████████████▋ | ETA: 0:04:23[K Progress: 39%|███████████████▉ | ETA: 0:04:21[K Progress: 39%|███████████████▉ | ETA: 0:04:21[K Progress: 39%|████████████████ | ETA: 0:04:21[K Progress: 39%|████████████████▏ | ETA: 0:04:20[K Progress: 39%|████████████████▏ | ETA: 0:04:20[K Progress: 40%|████████████████▎ | ETA: 0:04:20[K Progress: 40%|████████████████▍ | ETA: 0:04:20[K Progress: 40%|████████████████▍ | ETA: 0:04:19[K Progress: 40%|████████████████▌ | ETA: 0:04:19[K Progress: 40%|████████████████▋ | ETA: 0:04:19[K Progress: 41%|████████████████▋ | ETA: 0:04:18[K Progress: 41%|████████████████▊ | ETA: 0:04:18[K Progress: 41%|████████████████▊ | ETA: 0:04:18[K Progress: 41%|████████████████▉ | ETA: 0:04:17[K Progress: 41%|█████████████████ | ETA: 0:04:17[K Progress: 42%|█████████████████ | ETA: 0:04:17[K Progress: 42%|█████████████████▏ | ETA: 0:04:16[K Progress: 42%|█████████████████▎ | ETA: 0:04:16[K Progress: 42%|█████████████████▍ | ETA: 0:04:14[K Progress: 43%|█████████████████▌ | ETA: 0:04:11[K Progress: 43%|█████████████████▊ | ETA: 0:04:09[K Progress: 44%|█████████████████▉ | ETA: 0:04:07[K Progress: 44%|██████████████████ | ETA: 0:04:07[K Progress: 44%|██████████████████ | ETA: 0:04:06[K Progress: 44%|██████████████████▏ | ETA: 0:04:06[K Progress: 44%|██████████████████▎ | ETA: 0:04:05[K Progress: 45%|██████████████████▎ | ETA: 0:04:05[K Progress: 45%|██████████████████▍ | ETA: 0:04:05[K Progress: 45%|██████████████████▌ | ETA: 0:04:04[K Progress: 45%|██████████████████▌ | ETA: 0:04:04[K Progress: 45%|██████████████████▋ | ETA: 0:04:03[K Progress: 46%|██████████████████▊ | ETA: 0:04:03[K Progress: 46%|██████████████████▊ | ETA: 0:04:02[K Progress: 46%|███████████████████ | ETA: 0:04:00[K Progress: 47%|███████████████████▏ | ETA: 0:03:58[K Progress: 47%|███████████████████▎ | ETA: 0:03:56[K Progress: 47%|███████████████████▍ | ETA: 0:03:56[K Progress: 47%|███████████████████▍ | ETA: 0:03:55[K Progress: 48%|███████████████████▌ | ETA: 0:03:55[K Progress: 48%|███████████████████▋ | ETA: 0:03:54[K Progress: 48%|███████████████████▋ | ETA: 0:03:54[K Progress: 48%|███████████████████▊ | ETA: 0:03:53[K Progress: 48%|███████████████████▉ | ETA: 0:03:53[K Progress: 49%|███████████████████▉ | ETA: 0:03:52[K Progress: 49%|████████████████████ | ETA: 0:03:51[K Progress: 49%|████████████████████▏ | ETA: 0:03:51[K Progress: 49%|████████████████████▏ | ETA: 0:03:50[K Progress: 49%|████████████████████▎ | ETA: 0:03:50[K Progress: 50%|████████████████████▍ | ETA: 0:03:49[K Progress: 50%|████████████████████▍ | ETA: 0:03:49[K Progress: 50%|████████████████████▌ | ETA: 0:03:48[K Progress: 50%|████████████████████▋ | ETA: 0:03:47[K Progress: 50%|████████████████████▋ | ETA: 0:03:47[K Progress: 51%|████████████████████▊ | ETA: 0:03:46[K Progress: 51%|████████████████████▉ | ETA: 0:03:46[K Progress: 51%|████████████████████▉ | ETA: 0:03:45[K Progress: 51%|█████████████████████ | ETA: 0:03:44[K Progress: 51%|█████████████████████▏ | ETA: 0:03:44[K Progress: 52%|█████████████████████▏ | ETA: 0:03:43[K Progress: 52%|█████████████████████▎ | ETA: 0:03:42[K Progress: 52%|█████████████████████▍ | ETA: 0:03:42[K Progress: 52%|█████████████████████▍ | ETA: 0:03:41[K Progress: 52%|█████████████████████▌ | ETA: 0:03:40[K Progress: 53%|█████████████████████▋ | ETA: 0:03:40[K Progress: 53%|█████████████████████▋ | ETA: 0:03:39[K Progress: 53%|█████████████████████▊ | ETA: 0:03:38[K Progress: 53%|█████████████████████▊ | ETA: 0:03:38[K Progress: 53%|█████████████████████▉ | ETA: 0:03:37[K Progress: 54%|██████████████████████ | ETA: 0:03:36[K Progress: 54%|██████████████████████ | ETA: 0:03:36[K Progress: 54%|██████████████████████▏ | ETA: 0:03:35[K Progress: 54%|██████████████████████▎ | ETA: 0:03:34[K Progress: 54%|██████████████████████▎ | ETA: 0:03:34[K Progress: 55%|██████████████████████▍ | ETA: 0:03:33[K Progress: 55%|██████████████████████▌ | ETA: 0:03:32[K Progress: 55%|██████████████████████▌ | ETA: 0:03:32[K Progress: 55%|██████████████████████▋ | ETA: 0:03:31[K Progress: 55%|██████████████████████▊ | ETA: 0:03:30[K Progress: 56%|██████████████████████▊ | ETA: 0:03:29[K Progress: 56%|██████████████████████▉ | ETA: 0:03:29[K Progress: 56%|███████████████████████ | ETA: 0:03:28[K Progress: 56%|███████████████████████ | ETA: 0:03:27[K Progress: 56%|███████████████████████▏ | ETA: 0:03:27[K Progress: 57%|███████████████████████▎ | ETA: 0:03:26[K Progress: 57%|███████████████████████▎ | ETA: 0:03:25[K Progress: 57%|███████████████████████▍ | ETA: 0:03:25[K Progress: 57%|███████████████████████▌ | ETA: 0:03:24[K Progress: 57%|███████████████████████▌ | ETA: 0:03:23[K Progress: 58%|███████████████████████▋ | ETA: 0:03:23[K Progress: 58%|███████████████████████▊ | ETA: 0:03:22[K Progress: 58%|███████████████████████▊ | ETA: 0:03:21[K Progress: 58%|███████████████████████▉ | ETA: 0:03:20[K Progress: 58%|████████████████████████ | ETA: 0:03:20[K Progress: 59%|████████████████████████ | ETA: 0:03:19[K Progress: 59%|████████████████████████▏ | ETA: 0:03:18[K Progress: 59%|████████████████████████▎ | ETA: 0:03:17[K Progress: 59%|████████████████████████▎ | ETA: 0:03:17[K Progress: 59%|████████████████████████▍ | ETA: 0:03:16[K Progress: 60%|████████████████████████▍ | ETA: 0:03:15[K Progress: 60%|████████████████████████▌ | ETA: 0:03:14[K Progress: 60%|████████████████████████▋ | ETA: 0:03:13[K Progress: 60%|████████████████████████▋ | ETA: 0:03:13[K Progress: 60%|████████████████████████▊ | ETA: 0:03:12[K Progress: 61%|████████████████████████▉ | ETA: 0:03:11[K Progress: 61%|████████████████████████▉ | ETA: 0:03:10[K Progress: 61%|█████████████████████████ | ETA: 0:03:10[K Progress: 61%|█████████████████████████▏ | ETA: 0:03:09[K Progress: 61%|█████████████████████████▏ | ETA: 0:03:08[K Progress: 62%|█████████████████████████▎ | ETA: 0:03:07[K Progress: 62%|█████████████████████████▍ | ETA: 0:03:06[K Progress: 62%|█████████████████████████▍ | ETA: 0:03:06[K Progress: 62%|█████████████████████████▌ | ETA: 0:03:05[K Progress: 62%|█████████████████████████▋ | ETA: 0:03:04[K Progress: 63%|█████████████████████████▋ | ETA: 0:03:03[K Progress: 63%|█████████████████████████▊ | ETA: 0:03:02[K Progress: 63%|█████████████████████████▉ | ETA: 0:03:01[K Progress: 63%|█████████████████████████▉ | ETA: 0:03:01[K Progress: 63%|██████████████████████████ | ETA: 0:03:00[K Progress: 64%|██████████████████████████▏ | ETA: 0:02:59[K Progress: 64%|██████████████████████████▏ | ETA: 0:02:58[K Progress: 64%|██████████████████████████▎ | ETA: 0:02:57[K Progress: 64%|██████████████████████████▍ | ETA: 0:02:56[K Progress: 64%|██████████████████████████▍ | ETA: 0:02:55[K Progress: 65%|██████████████████████████▌ | ETA: 0:02:55[K Progress: 65%|██████████████████████████▋ | ETA: 0:02:54[K Progress: 65%|██████████████████████████▋ | ETA: 0:02:53[K Progress: 65%|██████████████████████████▊ | ETA: 0:02:52[K Progress: 65%|██████████████████████████▉ | ETA: 0:02:51[K Progress: 66%|██████████████████████████▉ | ETA: 0:02:50[K Progress: 66%|███████████████████████████ | ETA: 0:02:49[K Progress: 66%|███████████████████████████ | ETA: 0:02:49[K Progress: 66%|███████████████████████████▏ | ETA: 0:02:48[K Progress: 66%|███████████████████████████▎ | ETA: 0:02:47[K Progress: 67%|███████████████████████████▎ | ETA: 0:02:46[K Progress: 67%|███████████████████████████▍ | ETA: 0:02:45[K Progress: 67%|███████████████████████████▌ | ETA: 0:02:44[K Progress: 67%|███████████████████████████▌ | ETA: 0:02:43[K Progress: 67%|███████████████████████████▋ | ETA: 0:02:43[K Progress: 68%|███████████████████████████▊ | ETA: 0:02:42[K Progress: 68%|███████████████████████████▊ | ETA: 0:02:41[K Progress: 68%|███████████████████████████▉ | ETA: 0:02:40[K Progress: 68%|████████████████████████████ | ETA: 0:02:39[K Progress: 68%|████████████████████████████ | ETA: 0:02:38[K Progress: 69%|████████████████████████████▏ | ETA: 0:02:37[K Progress: 69%|████████████████████████████▎ | ETA: 0:02:36[K Progress: 69%|████████████████████████████▎ | ETA: 0:02:36[K Progress: 69%|████████████████████████████▍ | ETA: 0:02:35[K Progress: 69%|████████████████████████████▌ | ETA: 0:02:34[K Progress: 70%|████████████████████████████▌ | ETA: 0:02:33[K Progress: 70%|████████████████████████████▋ | ETA: 0:02:32[K Progress: 70%|████████████████████████████▊ | ETA: 0:02:31[K Progress: 70%|████████████████████████████▊ | ETA: 0:02:30[K Progress: 70%|████████████████████████████▉ | ETA: 0:02:29[K Progress: 71%|█████████████████████████████ | ETA: 0:02:28[K Progress: 71%|█████████████████████████████ | ETA: 0:02:27[K Progress: 71%|█████████████████████████████▏ | ETA: 0:02:26[K Progress: 71%|█████████████████████████████▎ | ETA: 0:02:26[K Progress: 71%|█████████████████████████████▎ | ETA: 0:02:25[K Progress: 72%|█████████████████████████████▍ | ETA: 0:02:24[K Progress: 72%|█████████████████████████████▌ | ETA: 0:02:23[K Progress: 72%|█████████████████████████████▌ | ETA: 0:02:22[K Progress: 72%|█████████████████████████████▋ | ETA: 0:02:21[K Progress: 72%|█████████████████████████████▋ | ETA: 0:02:20[K Progress: 73%|█████████████████████████████▊ | ETA: 0:02:19[K Progress: 73%|█████████████████████████████▉ | ETA: 0:02:18[K Progress: 73%|█████████████████████████████▉ | ETA: 0:02:17[K Progress: 73%|██████████████████████████████ | ETA: 0:02:16[K Progress: 73%|██████████████████████████████▏ | ETA: 0:02:15[K Progress: 74%|██████████████████████████████▏ | ETA: 0:02:14[K Progress: 74%|██████████████████████████████▎ | ETA: 0:02:13[K Progress: 74%|██████████████████████████████▍ | ETA: 0:02:13[K Progress: 74%|██████████████████████████████▍ | ETA: 0:02:12[K Progress: 74%|██████████████████████████████▌ | ETA: 0:02:11[K Progress: 75%|██████████████████████████████▋ | ETA: 0:02:10[K Progress: 75%|██████████████████████████████▋ | ETA: 0:02:09[K Progress: 75%|██████████████████████████████▊ | ETA: 0:02:08[K Progress: 75%|██████████████████████████████▉ | ETA: 0:02:07[K Progress: 75%|██████████████████████████████▉ | ETA: 0:02:06[K Progress: 76%|███████████████████████████████ | ETA: 0:02:05[K Progress: 76%|███████████████████████████████▏ | ETA: 0:02:04[K Progress: 76%|███████████████████████████████▏ | ETA: 0:02:03[K Progress: 76%|███████████████████████████████▎ | ETA: 0:02:02[K Progress: 76%|███████████████████████████████▍ | ETA: 0:02:01[K Progress: 77%|███████████████████████████████▍ | ETA: 0:02:00[K Progress: 77%|███████████████████████████████▌ | ETA: 0:01:59[K Progress: 77%|███████████████████████████████▋ | ETA: 0:01:58[K Progress: 77%|███████████████████████████████▋ | ETA: 0:01:57[K Progress: 77%|███████████████████████████████▊ | ETA: 0:01:56[K Progress: 78%|███████████████████████████████▉ | ETA: 0:01:55[K Progress: 78%|███████████████████████████████▉ | ETA: 0:01:54[K Progress: 78%|████████████████████████████████ | ETA: 0:01:53[K Progress: 78%|████████████████████████████████ | ETA: 0:01:52[K Progress: 78%|████████████████████████████████▏ | ETA: 0:01:51[K Progress: 79%|████████████████████████████████▎ | ETA: 0:01:50[K Progress: 79%|████████████████████████████████▎ | ETA: 0:01:49[K Progress: 79%|████████████████████████████████▍ | ETA: 0:01:48[K Progress: 79%|████████████████████████████████▌ | ETA: 0:01:47[K Progress: 79%|████████████████████████████████▌ | ETA: 0:01:46[K Progress: 80%|████████████████████████████████▋ | ETA: 0:01:45[K Progress: 80%|████████████████████████████████▊ | ETA: 0:01:44[K Progress: 80%|████████████████████████████████▊ | ETA: 0:01:43[K Progress: 80%|████████████████████████████████▉ | ETA: 0:01:42[K Progress: 80%|█████████████████████████████████ | ETA: 0:01:42[K Progress: 81%|█████████████████████████████████ | ETA: 0:01:41[K Progress: 81%|█████████████████████████████████▏ | ETA: 0:01:40[K Progress: 81%|█████████████████████████████████▎ | ETA: 0:01:39[K Progress: 81%|█████████████████████████████████▎ | ETA: 0:01:38[K Progress: 81%|█████████████████████████████████▍ | ETA: 0:01:37[K Progress: 82%|█████████████████████████████████▌ | ETA: 0:01:36[K Progress: 82%|█████████████████████████████████▌ | ETA: 0:01:35[K Progress: 82%|█████████████████████████████████▋ | ETA: 0:01:34[K Progress: 82%|█████████████████████████████████▊ | ETA: 0:01:33[K Progress: 82%|█████████████████████████████████▊ | ETA: 0:01:32[K Progress: 83%|█████████████████████████████████▉ | ETA: 0:01:31[K Progress: 83%|██████████████████████████████████ | ETA: 0:01:30[K Progress: 83%|██████████████████████████████████ | ETA: 0:01:29[K Progress: 83%|██████████████████████████████████▏ | ETA: 0:01:28[K Progress: 83%|██████████████████████████████████▎ | ETA: 0:01:27[K Progress: 84%|██████████████████████████████████▎ | ETA: 0:01:26[K Progress: 84%|██████████████████████████████████▍ | ETA: 0:01:25[K Progress: 84%|██████████████████████████████████▌ | ETA: 0:01:24[K Progress: 84%|██████████████████████████████████▌ | ETA: 0:01:23[K Progress: 84%|██████████████████████████████████▋ | ETA: 0:01:22[K Progress: 85%|██████████████████████████████████▋ | ETA: 0:01:21[K Progress: 85%|██████████████████████████████████▊ | ETA: 0:01:19[K Progress: 85%|██████████████████████████████████▉ | ETA: 0:01:18[K Progress: 85%|██████████████████████████████████▉ | ETA: 0:01:17[K Progress: 85%|███████████████████████████████████ | ETA: 0:01:16[K Progress: 86%|███████████████████████████████████▏ | ETA: 0:01:15[K Progress: 86%|███████████████████████████████████▏ | ETA: 0:01:14[K Progress: 86%|███████████████████████████████████▎ | ETA: 0:01:13[K Progress: 86%|███████████████████████████████████▍ | ETA: 0:01:12[K Progress: 86%|███████████████████████████████████▍ | ETA: 0:01:11[K Progress: 87%|███████████████████████████████████▌ | ETA: 0:01:10[K Progress: 87%|███████████████████████████████████▋ | ETA: 0:01:09[K Progress: 87%|███████████████████████████████████▋ | ETA: 0:01:08[K Progress: 87%|███████████████████████████████████▊ | ETA: 0:01:07[K Progress: 87%|███████████████████████████████████▉ | ETA: 0:01:06[K Progress: 88%|███████████████████████████████████▉ | ETA: 0:01:05[K Progress: 88%|████████████████████████████████████ | ETA: 0:01:04[K Progress: 88%|████████████████████████████████████▏ | ETA: 0:01:03[K Progress: 88%|████████████████████████████████████▏ | ETA: 0:01:02[K Progress: 88%|████████████████████████████████████▎ | ETA: 0:01:01[K Progress: 89%|████████████████████████████████████▍ | ETA: 0:01:00[K Progress: 89%|████████████████████████████████████▍ | ETA: 0:00:59[K Progress: 89%|████████████████████████████████████▌ | ETA: 0:00:58[K Progress: 89%|████████████████████████████████████▋ | ETA: 0:00:57[K Progress: 89%|████████████████████████████████████▋ | ETA: 0:00:56[K Progress: 90%|████████████████████████████████████▊ | ETA: 0:00:55[K Progress: 90%|████████████████████████████████████▉ | ETA: 0:00:54[K Progress: 90%|████████████████████████████████████▉ | ETA: 0:00:53[K Progress: 90%|█████████████████████████████████████ | ETA: 0:00:52[K Progress: 90%|█████████████████████████████████████▏ | ETA: 0:00:51[K Progress: 91%|█████████████████████████████████████▏ | ETA: 0:00:50[K Progress: 91%|█████████████████████████████████████▎ | ETA: 0:00:49[K Progress: 91%|█████████████████████████████████████▎ | ETA: 0:00:48[K Progress: 91%|█████████████████████████████████████▍ | ETA: 0:00:47[K Progress: 91%|█████████████████████████████████████▌ | ETA: 0:00:46[K Progress: 92%|█████████████████████████████████████▌ | ETA: 0:00:44[K Progress: 92%|█████████████████████████████████████▋ | ETA: 0:00:43[K Progress: 92%|█████████████████████████████████████▊ | ETA: 0:00:42[K Progress: 92%|█████████████████████████████████████▊ | ETA: 0:00:41[K Progress: 92%|█████████████████████████████████████▉ | ETA: 0:00:40[K Progress: 93%|██████████████████████████████████████ | ETA: 0:00:39[K Progress: 93%|██████████████████████████████████████ | ETA: 0:00:38[K Progress: 93%|██████████████████████████████████████▏ | ETA: 0:00:37[K Progress: 93%|██████████████████████████████████████▎ | ETA: 0:00:36[K Progress: 93%|██████████████████████████████████████▎ | ETA: 0:00:35[K Progress: 94%|██████████████████████████████████████▍ | ETA: 0:00:34[K Progress: 94%|██████████████████████████████████████▌ | ETA: 0:00:33[K Progress: 94%|██████████████████████████████████████▌ | ETA: 0:00:32[K Progress: 94%|██████████████████████████████████████▋ | ETA: 0:00:31[K Progress: 94%|██████████████████████████████████████▊ | ETA: 0:00:30[K Progress: 95%|██████████████████████████████████████▊ | ETA: 0:00:29[K Progress: 95%|██████████████████████████████████████▉ | ETA: 0:00:28[K Progress: 95%|███████████████████████████████████████ | ETA: 0:00:27[K Progress: 95%|███████████████████████████████████████ | ETA: 0:00:26[K Progress: 95%|███████████████████████████████████████▏ | ETA: 0:00:25[K Progress: 96%|███████████████████████████████████████▎ | ETA: 0:00:23[K Progress: 96%|███████████████████████████████████████▎ | ETA: 0:00:22[K Progress: 96%|███████████████████████████████████████▍ | ETA: 0:00:21[K Progress: 96%|███████████████████████████████████████▌ | ETA: 0:00:20[K Progress: 96%|███████████████████████████████████████▌ | ETA: 0:00:19[K Progress: 97%|███████████████████████████████████████▋ | ETA: 0:00:18[K Progress: 97%|███████████████████████████████████████▊ | ETA: 0:00:17[K Progress: 97%|███████████████████████████████████████▊ | ETA: 0:00:16[K Progress: 97%|███████████████████████████████████████▉ | ETA: 0:00:15[K Progress: 97%|███████████████████████████████████████▉ | ETA: 0:00:14[K Progress: 98%|████████████████████████████████████████ | ETA: 0:00:13[K Progress: 98%|████████████████████████████████████████▏| ETA: 0:00:12[K Progress: 98%|████████████████████████████████████████▏| ETA: 0:00:11[K Progress: 98%|████████████████████████████████████████▎| ETA: 0:00:10[K Progress: 98%|████████████████████████████████████████▍| ETA: 0:00:09[K Progress: 99%|████████████████████████████████████████▍| ETA: 0:00:07[K Progress: 99%|████████████████████████████████████████▌| ETA: 0:00:06[K Progress: 99%|████████████████████████████████████████▋| ETA: 0:00:05[K Progress: 99%|████████████████████████████████████████▋| ETA: 0:00:04[K Progress: 99%|████████████████████████████████████████▊| ETA: 0:00:03[K Progress: 100%|████████████████████████████████████████▉| ETA: 0:00:02[K Progress: 100%|████████████████████████████████████████▉| ETA: 0:00:01[K Progress: 100%|█████████████████████████████████████████| Time: 0:08:56[K ``` --- ## Diagnostics stored in a dataframe ```julia using DataFrames first(thdiag.data, 5) ```
Time
KineticEnergy
Momentum1
Momentum2
PotentialEnergyE1
PotentialEnergyE2
PotentialEnergyB3
Transfer
VVB
Poynting
ErrorPoisson
Float64
Float64
Float64
Float64
Float64
Float64
Float64
Float64
Float64
Float64
Float64
5 rows × 11 columns
1
0.05
25.1523
-0.000625369
-8.6047e-6
6.26351
9.86879e-10
1.78823e-11
0.391723
3.24773e-9
-6.183e-6
2.49138e-6
2
0.1
25.2108
-0.000623021
-8.35545e-6
6.20494
4.81613e-9
3.09619e-10
0.777919
-8.19707e-9
-4.21599e-5
4.97653e-6
3
0.15
25.3074
-0.000619116
-7.95665e-6
6.10822
1.2014e-8
1.69029e-9
1.15346
-8.77147e-8
-0.000115829
7.44923e-6
4
0.2
25.4408
-0.000613664
-7.43248e-6
5.97467
1.79134e-8
5.51632e-9
1.51325
-3.56175e-7
-0.000189769
9.9033e-6
5
0.25
25.6092
-0.000606681
-6.7977e-6
5.80613
1.48729e-8
1.12402e-8
1.85245
-5.88806e-7
-0.000225516
1.23326e-5
--- ```julia plot(thdiag.data[!,:Time], log.(thdiag.data[!,:PotentialEnergyE1])) ``` ![](mod_e.svg) Next [Conclusion](/Numkin2019/06/build/index.html) *This page was generated using [Literate.jl](https://github.com/fredrikekre/Literate.jl).*