idaholab / fenix

FENIX is an application for performing system-level, engineering scale (i.e., at the scale of centimeters and meters), and microstructure-scale (i.e., at the scale of microns) multiphysics calculations related to fusion energy systems.
https://mooseframework.inl.gov/fenix
GNU Lesser General Public License v2.1
10 stars 7 forks source link

Computing Electric Field from Electrostatic potential #62

Open gsgall opened 3 months ago

gsgall commented 3 months ago

Reason

Since the electrostatic electric field is generally solved by solving Poisson's equation and in order to compute this the system must be capable of taking the negative gradient of the electrostatic potential. Currently there are a few objects in MOOSE which do the same thing but not quite what we need. There is ADFunctorElementalGradientAux and VariableGradientComponent but the ADFunctor object would require use to use a second auxvariable to be store the vector result and then a second aux variable for the component. This would be required since FENIX velocity updaters does not currently support sampling vector fields.

Design

Make a copy of VariableGradientComponent which applies a negative one factor to the front. In the long run this should really be moved into MOOSE in a more general way but because of the UKAEA workshop being new week the object will be added to FENIX for now.

Impact

This will enable the simulation of electrostatic PIC cases.