Custom BCs - Expanding DoNothing BCs to Fully Open a Boundary #119
Unanswered
ghost
asked this question in
Q&A Plasma Transport
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Edit: I believe I have mis-interpreted as to what the DoNothing BCs do. I seemed to have believed they "open" a boundary, but it seems that they genuinely do nothing.
Edit: I think a major sticking point I'm experiencing is properly expressing the energy flux term, especially the grad epsilon (or gradient of the actual electron energy) in the diffusion term of the energy flux. Writing this term in a way the .C file likes seems a bit challenging. Any help on this particular issue would be especially helpful.
Hello all, as you might have noticed from my recent activity, I'm trying to write some more BCs to "open up" a boundary to free flow of electrons, ions/heavy species, and electron energy. @keniley1 passed down a FlowConvection kernel to me and I converted it into AD form and I experienced no compilation issues nor convergence issues; furthermore I developed an OpenFlowBC from this kernel, modeling off the DoNothing BC philosophy/methodology. No compilation or convergence issues here either.
Using a simple 2D tube for my "sandbox", I noticed that both with and without these custom Kernels and BCs, the electron temperature got quite hot near the boundary I attempted to open, as I mentioned in #115. The best conclusion (although perhaps faulty) I came to was that the while the electrons and ions were free to leave (the visualized density profiles suggested this), the energy density was not.
I attempted to fix this with a new EnergyDoNothingBC by letting the energy density flux at the boundary be equal to the bulk energy density flux. However, since CoeffDiffusionEnergy and EFieldAdvectionEnergy are not explicitly written anymore, I had to make my best guesses how to replicate it and write it in the BC.
The EnergyDoNothingBC compiled, but there are clear convergence issues within the first couple timesteps. I can't tell if the issue is because this is an utterly improper BC to write, or if I wrote something too convoluted that I've made some crucial error with implementation.
I've attached a text file with the source code I've written for the BC, but I've also made a fork & branch that includes it if that is an easier way to visualize it. I would happily appreciate any help y'all would be willing to lend me! Thank you!
EnergyDoNothingBC_src.txt
Beta Was this translation helpful? Give feedback.
All reactions