Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[PIC] Poisson solver #80

Closed
3 tasks
antoinetavant opened this issue Aug 3, 2017 · 8 comments
Closed
3 tasks

[PIC] Poisson solver #80

antoinetavant opened this issue Aug 3, 2017 · 8 comments
Labels
plasmapy.formulary Related to the plasmapy.formulary subpackage simulations.PIC plasmapy.classes.Species and others Stale Dormant issues & PRs which will be automatically closed if the label is not removed.

Comments

@antoinetavant
Copy link
Contributor

antoinetavant commented Aug 3, 2017

task from #69 , for PIC simulation
For the Electrostatic PIC simulation, a Poisson solver will be needed.

  • for 1D, Thomas Solver gives the exact solution. Boundaries have to be carefully set
  • for 2D, a solver is needed. Multiples solvers could be implemented, starting from a homemade SOR, then libraries could be called. Boundaries again : careful
  • Electric field calculation from Potential : warning the boundaries

We forget the 3D for Now. Boundaries can be : periodic, Dirichlet (Phi = Phi_0) or Neumann ( E = E_0) depending of the boundary.

@namurphy namurphy added the simulations.PIC plasmapy.classes.Species and others label Aug 3, 2017
@StanczakDominik StanczakDominik added this to To do in PIC simulation Aug 3, 2017
@StanczakDominik StanczakDominik added the plasmapy.formulary Related to the plasmapy.formulary subpackage label Aug 24, 2017
@tulasinandan
Copy link

tulasinandan commented Apr 20, 2018

About the EM solvers, I was wondering if we should re-invent the wheel or use an exsting EM solver. For a modular framework we would want a separate Maxwell solver for the fields.

@tulasinandan
Copy link

On the one hand, use of separate library will reduce our initial workload but it will create an extra dependency. Maybe depending on the license, we could simply merge one snapshot of an existing package and take it as a starting point.

@lemmatum
Copy link
Contributor

Is there a clean way to abstract the idea of an EM solver over the data structure such that you can drop-in any solver you want (provided you have a thin wrapper for some external solvers)?

@tulasinandan
Copy link

I have been thinking about it a quite a bit and my idea would be to have a function that takes every possible thing (grid, physics parameters, field values, time step, number of steps, anything else...) as a parameter and updates the fields for the desired number of steps, and finally returns the updated fields. Inside the solver, we would have cases for cartesian, cylindrical, spherical and whatever grids, and maybe a few different algorithms. A pure function without any side effects.

Then, we can have wrappers on top of it for different cases we might want.

@lemmatum
Copy link
Contributor

Do these kinds of EM solvers go step by step, solving adjacent grid cells or does it take all the cells at once and try to come up with a global solution? If it's the former, and if the equations don't change between coordinate systems, then perhaps you can handle different grid/coordinate systems with decorators.

@StanczakDominik
Copy link
Member

A reasonable object oriented structure would probably also work for code organization. I don't have strong opinions on how to organize the computation itself in a way that's parallelizable.

And with the direction we've been taking lately, I fear our code may soon approach 30% decorator applications. 😃

@github-actions
Copy link

This issue will be closed in 90 days due to five years of inactivity unless the stale label or comment is removed.

@github-actions github-actions bot added the Stale Dormant issues & PRs which will be automatically closed if the label is not removed. label Sep 23, 2023
Copy link

github-actions bot commented Jan 6, 2024

This issue was closed because it has had no activity for five years.

@github-actions github-actions bot closed this as not planned Won't fix, can't repro, duplicate, stale Jan 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
plasmapy.formulary Related to the plasmapy.formulary subpackage simulations.PIC plasmapy.classes.Species and others Stale Dormant issues & PRs which will be automatically closed if the label is not removed.
Projects
No open projects
PIC simulation
  
To do
Development

No branches or pull requests

5 participants