Field¶
The field currently allows a few hard-coded options. It will be extended to additional field types and may allow completely custom field implementations.
-
struct NoField
Build a problem without magnetic fields.
-
struct UniformField
Create a uniform nonzero field.
If volumes are specified, the field will only be present in those volumes.
- Todo:
Field driver options will be separate from the magnetic field. They, plus the field type, will be specified in a FieldParams that maps region/particle/energy to field setup. NOTE ALSO that
driver_options.max_substeps
is redundant withp.tracking.limits.field_substeps
.
Public Members
-
UnitSystem units = {UnitSystem::si}
Default field units are tesla.
-
Real3 strength = {0, 0, 0}
Field strength.
-
FieldDriverOptions driver_options
Field driver options.
-
std::vector<VolumeId> volumes
Volumes where the field is present (optional)
-
using celeritas::inp::RZMapField = ::celeritas::RZMapFieldInput¶
Build a separable R-Z magnetic field from a file.
- Todo:
Move field input here
The field type is selected with a variant:
-
using celeritas::inp::Field = std::variant<NoField, UniformField, RZMapField, CylMapField>¶
Field type.