|
Phyth v0.1.0
A dimensional safe C++ header-only mechanics and electromagnetics simulation library.
|
Classes | |
| class | ChargeSource |
| Abstract base class for all charge distributions. More... | |
| class | CurrentSegment |
| Magnetic field from a straight current-carrying wire segment. More... | |
| class | DipoleCharge |
| Ideal electric dipole with zero net charge. More... | |
| class | ElectricField |
| Electric field composed of multiple charge sources. More... | |
| class | LineCharge |
| Uniform line charge along a straight segment. More... | |
| class | MagneticDipole |
| Magnetic dipole with full electromagnetic field and dynamics. More... | |
| class | MagneticField |
| Magnetic field composed of multiple magnetic sources. More... | |
| class | MagneticSource |
| Abstract base class for all magnetic field sources. More... | |
| class | PointCharge |
| Point charge with full electromagnetic field and dynamics. More... | |
| class | SurfaceCharge |
| Uniform surface charge distribution on a rectangular patch. More... | |
| class | VolumeCharge |
| Uniform volume charge distribution in a rectangular box. More... | |
Functions | |
| std::ostream & | operator<< (std::ostream &os, const ElectricField &field) |
| Stream insertion operator for ElectricField. | |
Variables | |
| template<typename T > | |
| constexpr bool | is_charge_source_v = std::is_base_of_v<ChargeSource, T> |
| Type trait to check if a type is a ChargeSource. | |
| template<typename T > | |
| constexpr bool | is_magnetic_source_v = std::is_base_of_v<MagneticSource, T> |
| Type trait to check if a type is a MagneticSource. | |
|
inline |
Stream insertion operator for ElectricField.
Output format: "ElectricField{total_charge=X C}"
Definition at line 205 of file ElectricField.hpp.
|
inlineconstexpr |
Type trait to check if a type is a ChargeSource.
Example: static_assert(is_charge_source_v<PointCharge>); // true static_assert(is_charge_source_v<int>); // false
Definition at line 106 of file ChargeSource.hpp.
|
inlineconstexpr |
Type trait to check if a type is a MagneticSource.
Example: static_assert(is_magnetic_source_v<CurrentSegment>); // true static_assert(is_magnetic_source_v<MagneticDipole>); // true static_assert(is_magnetic_source_v<int>); // false
Definition at line 57 of file MagneticSource.hpp.