Initial conditions interface and random electric fields
This merge requests adds a "modular" initial condition interface. Initial conditions inherit from InitialCondition
and have to implement the applyFieldConfiguration()
method, see for example RandomElectricField
. After setting up the simulation, we call Simulation.applyInitialConditions()
to set the initial fields.
The initial conditions are added to the Settings
object before the simulation is initialized.
I also added a second example for an initial condition: GaussViolationExample
This initial condition is the specific field configuration used in gauss_test.cpp
.