Phyth v0.1.0
A dimensional safe C++ header-only mechanics and electromagnetics simulation library.
Loading...
Searching...
No Matches
Classes | Functions | Variables
Phyth::Electromagnetics Namespace Reference

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.
 

Function Documentation

◆ operator<<()

std::ostream & Phyth::Electromagnetics::operator<< ( std::ostream &  os,
const ElectricField &  field 
)
inline

Stream insertion operator for ElectricField.

Output format: "ElectricField{total_charge=X C}"

Definition at line 205 of file ElectricField.hpp.

Variable Documentation

◆ is_charge_source_v

template<typename T >
constexpr bool Phyth::Electromagnetics::is_charge_source_v = std::is_base_of_v<ChargeSource, T>
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.

◆ is_magnetic_source_v

template<typename T >
constexpr bool Phyth::Electromagnetics::is_magnetic_source_v = std::is_base_of_v<MagneticSource, T>
inlineconstexpr