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

Boundary Conditions #123

Closed
6 of 7 tasks
ax3l opened this issue Dec 18, 2013 · 11 comments
Closed
6 of 7 tasks

Boundary Conditions #123

ax3l opened this issue Dec 18, 2013 · 11 comments
Milestone

Comments

@ax3l
Copy link
Member

ax3l commented Dec 18, 2013

We need a huge bunch of useful boundary conditions:

Maybe we should differentiate between particle and field boundary conditions!

Some refs:

  • Lars D. Ludeking, Andrew J. Woods. Well Matched Electromagnetic Boundary in FDTD-PIC for Charged Particle Penetration, The Open Plasma Physics Journal 3, 53-59, 2010
  • PML: Taflove, Hagness "Comp. Electrodyn - the FDTD Method 3rd ed.", ch. 7
  • PML: Jean-Pierre Berenger. A Perfectly Matched Layer for the Absorption of Electromagnetic Waves Journal of Computational Physics 114, 185-200, 1993
@ax3l
Copy link
Member Author

ax3l commented Jun 11, 2015

in the moment where fields or particles are manipulated, the "lost" or "added" energy due to the boundaries should be calculated and written out.

@PrometheusPi
Copy link
Member

@ax3l I agree. Otherwise our energy conservation tests only work for periodic boundary conditions.

@bussmann
Copy link
Member

++1

@dgholstein
Copy link

I presume the code will not handle arbitrary conducting boundaries such as one would find on a magnetron, is that correct? That it would do RF simulations as would HFSS or CST?

@ax3l
Copy link
Member Author

ax3l commented Nov 19, 2015

welcome to our issue tracker @dgholstein !

Conducting boundary conditions can be, e.g., modelled with PML conditions (which just need to be implemented and have been so in many PIC codes before).

Please be aware that the PIC method as implemented in this code is a FDTD PM method. HFSS is using FEM methods and CST is providing a whole framework of codes with arbitrary methods and tracers.

@ax3l ax3l modified the milestones: Future, Release Candidate: 0.3.0 Apr 19, 2017
@ax3l ax3l removed the feature label Nov 13, 2017
@n01r
Copy link
Member

n01r commented Aug 20, 2019

Ping @sbastrakov.
A very old issue - I already ticked the box for PML.
Is there anything else from the list that is done or planned for the next months?

@sbastrakov
Copy link
Member

I am not aware if we plan to implement some more soon, but here is my view on the BCs in the list:

  • thermal: for particles can be useful to have, although @ax3l pointed out in an offline discussion (quite a while ago) that it also has some limitations
  • reflecting: this one should be easy to do, not sure how useful though
  • Lindman open space: should be not needed since we now have PML

Some time ago I was also thinking of moving BCs to runtime parameters, we should do this sometime, should not be that hard.

@ax3l
Copy link
Member Author

ax3l commented Aug 23, 2019

reflecting: this one should be easy to do, not sure how useful though

very useful addition if you like to that that, e.g. to simulate shock scenarios :)
(one downstream plasma -> reflected at boundary -> nice counter-prop shock physics & pretty image ;) )

psychocoderHPC pushed a commit to psychocoderHPC/picongpu that referenced this issue Oct 28, 2019
4578ae151 Merge pull request ComputationalRadiationPhysics#128 from psychocoderHPC/topic-updateAlpakaToCurrent0.4.0dev
0c090e536 Merge commit 'dd8afa5cec90a1398b8da3f9cd7d30aa59664cb5' into topic-updateAlpakaToCurrent0.4.0dev
dd8afa5ce Squashed 'alpaka/' changes from 0a2b6161..d5e59590
767768a88 rename alpaka queue names
8c227fbb6 Merge pull request ComputationalRadiationPhysics#130 from psychocoderHPC/fix-configHeaderTest
a6c3da536 fix `config header` test
a439c9d6b Merge pull request ComputationalRadiationPhysics#129 from psychocoderHPC/topic-updateTravisCMakeTo3.15.4
2e0daaf1b update tavis CMake to 3.15.4
04698e9c6 Merge pull request ComputationalRadiationPhysics#123 from SimeonEhrig/ci_enable_backends
25e64b623 time command add to ci test
c559bf432 Merge pull request ComputationalRadiationPhysics#107 from SimeonEhrig/init-gitlab-ci
488a2e95f Merge pull request ComputationalRadiationPhysics#117 from tdd11235813/pr-fixes-atomics
c2916be68 Adds atomicAnd, atomicXor, atomicOr.
7c330a5a9 Merge pull request ComputationalRadiationPhysics#112 from psychocoderHPC/topic-standaloneHeader
d84f2fdea configuration header
6a97c1cf1 Merge pull request ComputationalRadiationPhysics#113 from fwyzard/dev_cuplaGetErrorName
d210a37a0 Add cuplaGetErrorName with the same functionality as cuplaGetErrorString
d050bf3cd Merge pull request ComputationalRadiationPhysics#111 from tdd11235813/doc-subtree
19cf46913 Describes how to pull subtree as generic git author.
4ecc143f4 Merge pull request ComputationalRadiationPhysics#103 from tdd11235813/dev
16c806e68 Merge pull request ComputationalRadiationPhysics#104 from tdd11235813/dev-targets
43fd52319 Add gitlab-ci.yml for GitLab CI tests
fd37e7b7d Alpaka as git subtree instead of git submodule.
16b455107 Squashed 'alpaka/' content from commit 0a2b6161
69b79bd95 Merge commit '16b4551075f93cdd71309433b02936a152dfee9f' as 'alpaka'
fa5cc5260 Removes alpaka git module.
67485d510 Some stylistic changes.
4f2b9c019 CUPLA_ADD_EXECUTABLE links cupla target. Target provides c++11.

git-subtree-dir: thirdParty/cupla
git-subtree-split: 4578ae151ee6ac5c7810f76ff0c3a4506158807d
psychocoderHPC pushed a commit to psychocoderHPC/picongpu that referenced this issue Jan 8, 2020
0594a68a0 Merge pull request ComputationalRadiationPhysics#140 from psychocoderHPC/topic-cuplaTargetBehavior
0991f2c6e compile cupla interfaces into static cupla library
914a87133 Merge pull request ComputationalRadiationPhysics#136 from psychocoderHPC/topic-refactorKernelExecution
0027076c7 Merge pull request ComputationalRadiationPhysics#137 from psychocoderHPC/topic-supportForAlpakaOMP4Backend
d2b118662 Merge pull request ComputationalRadiationPhysics#139 from psychocoderHPC/fix-configHeader
16c084970 support for alpaka OMP4 backend
e990d63c5 fix config header
e2048f565 refactor cupla kernel execution
d5f969a93 Merge pull request ComputationalRadiationPhysics#132 from sbastrakov/doc-clarifyIncludeOrder
cca400a60 Clarify documentation of inclusion order
4578ae151 Merge pull request ComputationalRadiationPhysics#128 from psychocoderHPC/topic-updateAlpakaToCurrent0.4.0dev
0c090e536 Merge commit 'dd8afa5cec90a1398b8da3f9cd7d30aa59664cb5' into topic-updateAlpakaToCurrent0.4.0dev
dd8afa5ce Squashed 'alpaka/' changes from 0a2b6161..d5e59590
767768a88 rename alpaka queue names
8c227fbb6 Merge pull request ComputationalRadiationPhysics#130 from psychocoderHPC/fix-configHeaderTest
a6c3da536 fix `config header` test
a439c9d6b Merge pull request ComputationalRadiationPhysics#129 from psychocoderHPC/topic-updateTravisCMakeTo3.15.4
2e0daaf1b update tavis CMake to 3.15.4
04698e9c6 Merge pull request ComputationalRadiationPhysics#123 from SimeonEhrig/ci_enable_backends
25e64b623 time command add to ci test
c559bf432 Merge pull request ComputationalRadiationPhysics#107 from SimeonEhrig/init-gitlab-ci
488a2e95f Merge pull request ComputationalRadiationPhysics#117 from tdd11235813/pr-fixes-atomics
c2916be68 Adds atomicAnd, atomicXor, atomicOr.
7c330a5a9 Merge pull request ComputationalRadiationPhysics#112 from psychocoderHPC/topic-standaloneHeader
d84f2fdea configuration header
6a97c1cf1 Merge pull request ComputationalRadiationPhysics#113 from fwyzard/dev_cuplaGetErrorName
d210a37a0 Add cuplaGetErrorName with the same functionality as cuplaGetErrorString
d050bf3cd Merge pull request ComputationalRadiationPhysics#111 from tdd11235813/doc-subtree
19cf46913 Describes how to pull subtree as generic git author.
4ecc143f4 Merge pull request ComputationalRadiationPhysics#103 from tdd11235813/dev
16c806e68 Merge pull request ComputationalRadiationPhysics#104 from tdd11235813/dev-targets
43fd52319 Add gitlab-ci.yml for GitLab CI tests
fd37e7b7d Alpaka as git subtree instead of git submodule.
16b455107 Squashed 'alpaka/' content from commit 0a2b6161
69b79bd95 Merge commit '16b4551075f93cdd71309433b02936a152dfee9f' as 'alpaka'
fa5cc5260 Removes alpaka git module.
67485d510 Some stylistic changes.
4f2b9c019 CUPLA_ADD_EXECUTABLE links cupla target. Target provides c++11.

git-subtree-dir: thirdParty/cupla
git-subtree-split: 0594a68a0d9bdbfc949391f83473d4734575a7f5
psychocoderHPC pushed a commit to psychocoderHPC/picongpu that referenced this issue Mar 10, 2020
36f6ca909 refactor cupla kernel execution
d5f969a93 Merge pull request ComputationalRadiationPhysics#132 from sbastrakov/doc-clarifyIncludeOrder
cca400a60 Clarify documentation of inclusion order
4578ae151 Merge pull request ComputationalRadiationPhysics#128 from psychocoderHPC/topic-updateAlpakaToCurrent0.4.0dev
0c090e536 Merge commit 'dd8afa5cec90a1398b8da3f9cd7d30aa59664cb5' into topic-updateAlpakaToCurrent0.4.0dev
dd8afa5ce Squashed 'alpaka/' changes from 0a2b6161..d5e59590
767768a88 rename alpaka queue names
8c227fbb6 Merge pull request ComputationalRadiationPhysics#130 from psychocoderHPC/fix-configHeaderTest
a6c3da536 fix `config header` test
a439c9d6b Merge pull request ComputationalRadiationPhysics#129 from psychocoderHPC/topic-updateTravisCMakeTo3.15.4
2e0daaf1b update tavis CMake to 3.15.4
04698e9c6 Merge pull request ComputationalRadiationPhysics#123 from SimeonEhrig/ci_enable_backends
25e64b623 time command add to ci test
c559bf432 Merge pull request ComputationalRadiationPhysics#107 from SimeonEhrig/init-gitlab-ci
488a2e95f Merge pull request ComputationalRadiationPhysics#117 from tdd11235813/pr-fixes-atomics
c2916be68 Adds atomicAnd, atomicXor, atomicOr.
7c330a5a9 Merge pull request ComputationalRadiationPhysics#112 from psychocoderHPC/topic-standaloneHeader
d84f2fdea configuration header
6a97c1cf1 Merge pull request ComputationalRadiationPhysics#113 from fwyzard/dev_cuplaGetErrorName
d210a37a0 Add cuplaGetErrorName with the same functionality as cuplaGetErrorString
d050bf3cd Merge pull request ComputationalRadiationPhysics#111 from tdd11235813/doc-subtree
19cf46913 Describes how to pull subtree as generic git author.
4ecc143f4 Merge pull request ComputationalRadiationPhysics#103 from tdd11235813/dev
16c806e68 Merge pull request ComputationalRadiationPhysics#104 from tdd11235813/dev-targets
43fd52319 Add gitlab-ci.yml for GitLab CI tests
fd37e7b7d Alpaka as git subtree instead of git submodule.
16b455107 Squashed 'alpaka/' content from commit 0a2b6161
69b79bd95 Merge commit '16b4551075f93cdd71309433b02936a152dfee9f' as 'alpaka'
fa5cc5260 Removes alpaka git module.
67485d510 Some stylistic changes.
4f2b9c019 CUPLA_ADD_EXECUTABLE links cupla target. Target provides c++11.

git-subtree-dir: thirdParty/cupla
git-subtree-split: 36f6ca90972028fbf45e0aa5ed4fd7c9ea50f03a
@ervw12
Copy link

ervw12 commented Oct 2, 2021

It is quite some time ago. But are there any plans of implementing reflecting boundaries soon? We want to simulate some shock scenarios already mentioned by @ax3l, where this BC would be very useful.

@PrometheusPi
Copy link
Member

PrometheusPi commented Oct 2, 2021

@ervw12 There is currently a pull request open, that will implement reflecting boundary conditions for particles. See here: #3806 It will be merged within a few days.

@steindev
Copy link
Member

With reflecting and thermal particle boundaries implemented in #3806 and #3858, respectively, as well as PML field boundaries in #2950 (as an 'equivalent' to the Lindman bc in the description), I take the liberty to close this long standing issue.
Well done @lennertsprenger and @sbastrakov!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

8 participants