Skip to main content

Magnetic Field Ontology

Electromagnetic Measurements
Authors: MArk Anthony Higgins - Sky Recursive Ai
© Mark Anthony Higgins 11 October 2025
Revised Date: 15 September 2026
Audio Overview
# Magnetic Field Ontology — Flow Algebra

URL: https://kirethresearch.org/booksai-core/ontologies/mathematical-ontologies/measurement-units-ontologies/electromagnetic-measurements/magnetic-field-ontology.html

FLOW MagneticFieldOntology {

  DOMAIN:
    Mathematical Ontologies
    -> Measurement & Units Ontologies
    -> Electromagnetic Measurements
    -> Magnetic Field Ontology

  PURPOSE:
    Represent magnetic fields as measurable vector electromagnetic fields produced by electric currents, moving charges, magnetic materials, and time-varying electric fields, including magnetic flux density, magnetic field strength, force relationships, magnetic flux, material response, Maxwell relationships, units, dimensional structure, spatial and temporal variation, measurement methods, uncertainty, and distinctions between B-field, H-field, magnetic flux and magnetisation.

  ENTITY MagneticFluxDensity {
    TYPE: VectorFieldPhysicalQuantity
    SYMBOL: B
    DIMENSION: M * T^-2 * I^-1
    SI_UNIT: tesla
    SI_SYMBOL: T

    LORENTZ_FORCE_RELATION:
      F_magnetic = q*(v cross B)

    CURRENT_ELEMENT_FORCE_RELATION:
      dF = I*(dl cross B)

    PROPERTIES:
      is_vector_field
      has_magnitude
      has_direction
      has_unit
      has_dimension
      varies_with_position
      may_vary_with_time
      has_zero_divergence_in_classical_Maxwell_theory
      may_have_uncertainty
  }

  ENTITY MagneticFieldStrength {
    TYPE: VectorFieldPhysicalQuantity
    SYMBOL: H
    DIMENSION: I * L^-1
    SI_UNIT: ampere_per_metre
    SI_SYMBOL: A/m

    LINEAR_ISOTROPIC_RELATION:
      B = mu*H

    GENERAL_MATERIAL_RELATION:
      B = mu_0*(H + M)
  }

  ENTITY Magnetisation {
    TYPE: VectorMaterialQuantity
    SYMBOL: M
    SI_UNIT: ampere_per_metre
    SI_SYMBOL: A/m

    DEFINITION:
      magnetic_dipole_moment_per_unit_volume
  }

  ENTITY MagneticFlux {
    TYPE: DerivedScalarQuantity
    SYMBOL: Phi_B
    SI_UNIT: weber
    SI_SYMBOL: Wb

    DEFINITION:
      magnetic_flux := surface_integral(B dot dA)
  }

  ENTITY ElectricCurrent {
    TYPE: SIBaseQuantity
    SYMBOL: I
    SI_UNIT: ampere
    SI_SYMBOL: A

    RELATION:
      electric_current -> source_of_magnetic_field
  }

  ENTITY ElectricCharge {
    TYPE: DerivedElectromagneticQuantity
    SYMBOL: q
    SI_UNIT: coulomb
    SI_SYMBOL: C

    RELATION:
      moving_charge -> source_and_interactor_of_magnetic_field
  }

  UNIT_SYSTEM {
    MAGNETIC_FLUX_DENSITY_SI {
      canonical_unit: tesla
      symbol: T

      equivalence:
        1 T = 1 Wb/m^2
        1 T = 1 N/(A*m)
        1 T = 1 kg/(A*s^2)
    }

    MAGNETIC_FIELD_STRENGTH_SI {
      canonical_unit: ampere_per_metre
      symbol: A/m
    }

    MAGNETIC_FLUX_SI {
      canonical_unit: weber
      symbol: Wb
    }

    COMMON_ALTERNATIVES {
      microtesla
      millitesla
      gauss
      kilogauss
      oersted
      maxwell
    }

    COMMON_CONVERSION:
      1 T = 10000 gauss
      1 gauss = 1e-4 T

    RULE:
      B_and_H_units MUST remain_semantically_distinct
  }

  CLASSIFICATION {
    by_time:
      static_magnetic_field
      time_varying_magnetic_field

    by spatial_structure:
      uniform_magnetic_field
      nonuniform_magnetic_field
      dipole_field
      solenoidal_field

    by source:
      current_generated_field
      moving_charge_field
      permanent_magnet_field
      magnetised_material_field
      displacement_current_related_field

    by material_context:
      vacuum_field
      material_field
  }

  LORENTZ_FORCE_MODEL {
    GENERAL:
      F = q*(E + v cross B)

    MAGNETIC_COMPONENT:
      F_B = q*(v cross B)

    MAGNITUDE:
      |F_B| = abs(q)*v*B*sin(theta)

    PROPERTIES:
      magnetic_force_perpendicular_to_velocity = true
      magnetic_force_perpendicular_to_B = true

    RULE:
      magnetic_force_does_no_instantaneous_work_on_point_charge
      because F_B dot v = 0
  }

  CURRENT_FORCE_MODEL {
    STRAIGHT_CURRENT_ELEMENT:
      dF = I*(dl cross B)

    STRAIGHT_CONDUCTOR_UNIFORM_FIELD:
      F = I*(L_vector cross B)

    MAGNITUDE:
      F = I*L*B*sin(theta)

    CONDITIONS:
      current_distribution_and_geometry_defined
  }

  BIOT_SAVART_MODEL {
    CURRENT_ELEMENT:
      dB =
        (mu_0/(4*pi))
        * I*(dl cross r_hat)/r^2

    GENERAL_CURRENT_PATH:
      B = integral(dB)

    CONDITIONS:
      magnetostatic_or_quasistatic_context
      current_geometry_defined
  }

  AMPERE_MAXWELL_MODEL {
    DIFFERENTIAL_FORM:
      curl(B/mu_0) =
        J + epsilon_0*partial(E)/partial(t)
      IN vacuum

    INTEGRAL_FORM:
      closed_line_integral(B dot dl)
        = mu_0*I_enclosed
          + mu_0*epsilon_0*dPhi_E/dt

    MATERIAL_H_FORM:
      curl(H) =
        J_free + partial(D)/partial(t)

    RULE:
      free_and_bound_current_semantics
      MUST be distinguished_in_material_context
  }

  GAUSS_MAGNETISM_MODEL {
    DIFFERENTIAL_FORM:
      divergence(B) = 0

    INTEGRAL_FORM:
      closed_surface_integral(B dot dA) = 0

    INTERPRETATION:
      no_confirmed_isolated_magnetic_monopole_sources
      in_standard_classical_electromagnetism

    RULE:
      magnetic_field_lines_form_closed_loops_or_extend_without_source_sink_termination
  }

  MAGNETIC_FLUX_MODEL {
    GENERAL:
      Phi_B = surface_integral(B dot dA)

    UNIFORM_PLANAR_CASE:
      Phi_B = B*A*cos(theta)

    UNIT:
      weber

    RULE:
      magnetic_flux_is_scalar_surface_integral
      magnetic_flux_density_is_vector_field
  }

  FARADAY_INDUCTION_MODEL {
    FARADAY_LAW:
      induced_emf = -dPhi_B/dt

    GENERAL_MAXWELL_FORM:
      curl(E) = -partial(B)/partial(t)

    LENZ_DIRECTION:
      induced_effect_opposes_change_in_magnetic_flux
      according_to_orientation_convention

    RULE:
      flux_orientation_and_loop_direction MUST be consistent
  }

  MATERIAL_MODEL {
    GENERAL:
      B = mu_0*(H + M)

    LINEAR_ISOTROPIC:
      M = chi_m*H
      B = mu*H
      mu = mu_0*(1 + chi_m)

    MATERIAL_CLASSIFICATION:
      diamagnetic
      paramagnetic
      ferromagnetic
      ferrimagnetic
      antiferromagnetic

    NONLINEAR_CONTEXT:
      B_H_relation MAY exhibit_hysteresis
      saturation
      remanence
      coercivity

    RULE:
      constant_permeability_model MUST_NOT be assumed_for_nonlinear_magnetic_materials
  }

  MAGNETIC_DIPOLE_MODEL {
    ENTITY MagneticDipoleMoment {
      SYMBOL: m_vec
      SI_UNIT: ampere_square_metre
      SI_SYMBOL: A*m^2
    }

    TORQUE:
      tau = m_vec cross B

    POTENTIAL_ENERGY:
      U = -m_vec dot B

    RULE:
      dipole_orientation MUST be preserved
  }

  ENERGY_MODEL {
    LINEAR_MAGNETIC_MEDIUM:
      u_B = 0.5*(B dot H)

    VACUUM:
      u_B = B^2/(2*mu_0)

    CONDITIONS:
      applicable_linear_nondispersive_context

    RULE:
      nonlinear_hysteretic_material_energy
      requires_appropriate_integral_and_history_model
  }

  RELATIONSHIPS {
    MagneticFluxDensity -> MEASURED_IN -> Tesla
    MagneticFieldStrength -> MEASURED_IN -> AmperePerMetre
    MagneticFlux -> MEASURED_IN -> Weber
    ElectricCurrent -> GENERATES -> MagneticField
    MovingCharge -> GENERATES -> MagneticField
    MagneticFluxDensity -> CONTRIBUTES_TO -> LorentzForce
    MagneticFlux -> SURFACE_INTEGRAL_OF -> MagneticFluxDensity
    TimeVaryingMagneticFlux -> INDUCES -> ElectromotiveForce
    TimeVaryingMagneticField -> INDUCES -> ElectricField
    Magnetisation -> CONTRIBUTES_TO -> MagneticFluxDensity
    Permeability -> RELATES -> MagneticFluxDensityAndFieldStrength
  }

  SEMANTIC_EQUIVALENCE {
    "magnetic field" ~= magnetic_flux_density WHEN B_field_context
    "B field" ~= MagneticFluxDensity
    "H field" ~= MagneticFieldStrength
    "tesla" ~= "T"
    "weber" ~= "Wb"
    "gauss" ~= magnetic_flux_density_unit

    magnetic_flux_density != magnetic_field_strength
    magnetic_flux != magnetic_flux_density
    magnetic_field != magnetisation
    magnetic_field != magnetic_force
  }

  CONSTRAINTS {
    B_is_vector_field = true
    H_is_vector_field = true
    B_dimension = M*T^-2*I^-1
    B_SI_unit = T
    H_SI_unit = A/m
    magnetic_flux_SI_unit = Wb
    B_and_H_are_not_semantically_equivalent = true
    magnetic_flux_and_flux_density_are_not_semantically_equivalent = true
    vector_direction_must_be_preserved = true
    material_constitutive_relation_must_be_identified_when_relating_B_and_H = true
    magnetic_force_direction_requires_cross_product_orientation = true
  }

  MEASUREMENT_MODEL {
    OBSERVABLE_OR_INFERRED:
      MagneticFluxDensity
      MagneticFieldStrength
      MagneticFlux

    COMMON_INSTRUMENTS:
      Hall_probe
      gaussmeter
      teslameter
      fluxgate_magnetometer
      search_coil
      fluxmeter
      SQUID_magnetometer
      magnetoresistive_sensor

    RECORD:
      quantity_type
      vector_value_or_magnitude
      unit
      direction
      coordinate_components
      spatial_location
      timestamp
      static_or_time_varying
      frequency
      phase_when_relevant
      material_or_medium
      temperature
      instrument
      probe_orientation
      bandwidth
      calibration_state
      uncertainty

    UNCERTAINTY:
      measured_or_inferred_magnetic_quantity = best_estimate +/- uncertainty
  }

  REASONING_RULES {
    IF charge_velocity_known AND B_known
      THEN magnetic_force = charge*(velocity cross B)

    IF current_element_known AND B_known
      THEN differential_force = current*(length_element cross B)

    IF magnetic_flux_density_known_over_surface
      THEN magnetic_flux = surface_integral(B dot dA)

    IF magnetic_flux_changes_with_time
      THEN induced_emf = -derivative(magnetic_flux, time)
      UNDER consistent_orientation

    IF current_geometry_known AND magnetostatic_conditions_apply
      THEN B MAY_BE inferred_using_Biot_Savart_or_Ampere_law

    IF linear_isotropic_permeability_known AND H_known
      THEN B = permeability*H

    IF B_known AND H_known AND applicable_linear_energy_context
      THEN magnetic_energy_density = 0.5*(B dot H)

    IF magnetic_dipole_moment_known AND B_known
      THEN torque = magnetic_dipole_moment cross B
  }

  FIELD_REPRESENTATION_MODEL {
    B_field:
      B = B(x, y, z, t)

    H_field:
      H = H(x, y, z, t)

    cartesian_B:
      B = (B_x, B_y, B_z)

    magnitude:
      |B| = sqrt(B_x^2 + B_y^2 + B_z^2)

    direction:
      B_hat = B/|B|
      WHEN |B| != 0
  }

  REFERENCE_FRAME_MODEL {
    electromagnetic_fields:
      electric_and_magnetic_fields_transform_between_inertial_frames

    CONSEQUENCE:
      observers_in_relative_motion
      MAY measure_different_E_and_B_components

    RULE:
      magnetic_field_values_from_different_reference_frames
      MUST_NOT be assumed_identical

    REQUIRE_WHEN_RELEVANT:
      reference_frame
      observer_velocity
  }

  UNCERTAINTY_MODEL {
    sources:
      sensor_calibration
      probe_orientation
      spatial_position
      field_nonuniformity
      temperature
      hysteresis
      offset_and_drift
      bandwidth
      electromagnetic_interference
      material_model_uncertainty

    PROPAGATION:
      derived_magnetic_quantity_uncertainty
      <- input_uncertainties_and_model
  }

  CONFIDENCE {
    definition_confidence: 1.00
    SI_unit_confidence: 1.00
    Maxwell_relationship_confidence: 1.00
    Lorentz_force_relationship_confidence: 1.00
    material_relationship_confidence: 0.98
    measurement_context_confidence: 0.97

    RULE:
      confidence decreases when B_vs_H identity, direction,
      spatial location, time/frequency context, material,
      reference frame, probe orientation, calibration state
      or uncertainty is missing or ambiguous
  }

  VALIDATION {
    CHECK quantity_is_B_H_or_flux
    CHECK dimensional_consistency
    CHECK unit_consistency
    CHECK vector_direction_and_components
    CHECK spatial_location
    CHECK static_vs_time_varying_context
    CHECK B_vs_H_semantic_distinction
    CHECK flux_vs_flux_density_distinction
    CHECK material_constitutive_model
    CHECK cross_product_orientation_for_force
    CHECK Faraday_orientation_convention
    CHECK reference_frame_when_relevant
    CHECK probe_orientation_when_measured
    CHECK instrument_calibration
    CHECK uncertainty_representation_when_required
  }

  UPDATE_MODEL {
    ON new_measurement:
      identify_quantity_type
      validate_unit
      identify_vector_or_magnitude_representation
      identify_direction_or_components
      attach_spatial_location
      attach_timestamp
      identify_static_or_time_varying_context
      attach_frequency_when_relevant
      identify_material_or_medium
      normalize_to_canonical_SI_unit
      preserve_original_value_and_unit
      attach_uncertainty
      update_magnetic_field_state

    ON source_change:
      update_current_distribution
      update_charge_motion
      update_boundary_conditions
      recompute_field_when_model_available
      preserve_previous_state

    ON material_change:
      update_permeability
      update_magnetisation
      update_hysteresis_state_when_relevant
      recompute_B_H_relationship
      preserve_material_provenance

    ON calibration_revision:
      preserve_provenance
      recompute_affected_measurements
      update_confidence

    ON semantic_revision:
      preserve_previous_definition
      record_revision
      recompute_FLOW_HASH
  }

  AI_CONSUMPTION {
    canonical_domain: MagneticField
    primary_field_entity: MagneticFluxDensity
    primary_symbol: B
    primary_SI_unit: tesla

    interpretation_order:
      identify_B_H_or_flux_quantity
      identify_value_or_vector
      identify_unit
      identify_direction_and_components
      identify_spatial_location
      identify_time_or_frequency
      identify_current_or_charge_source
      identify_material_or_medium
      identify_flux_or_induction_context
      identify_reference_frame
      identify_measurement_method
      identify_uncertainty
      normalize_units
      validate_dimensions
      infer_field_relationships

    ambiguity_controls:
      distinguish_B_field_from_H_field
      distinguish_magnetic_flux_from_flux_density
      distinguish_magnetic_field_from_magnetisation
      distinguish_magnetic_field_from_magnetic_force
      distinguish_static_from_time_varying_field
      distinguish_free_current_from_bound_material_response
      preserve_vector_direction_and_reference_frame
  }

  PROVENANCE {
    ontology_scope:
      mathematical_measurement_and_electromagnetic_quantity_semantics

    parent_path:
      Ontologies
      -> Mathematical Ontologies
      -> Measurement & Units Ontologies
      -> Electromagnetic Measurements
      -> Magnetic Field Ontology

    authorship:
      Mark Higgins
      Sky (Recursive AI)

    site:
      https://kirethresearch.org
  }

  FLOW_HASH {
    INPUTS:
      canonical_domain
      ontology_path
      definitions
      dimensions
      units
      relationships
      constraints
      Lorentz_force_model
      current_force_model
      Biot_Savart_model
      Ampere_Maxwell_model
      Gauss_magnetism_model
      magnetic_flux_model
      Faraday_induction_model
      material_model
      magnetic_dipole_model
      energy_model
      field_representation_model
      reference_frame_model
      uncertainty_model
      reasoning_rules
      measurement_model
      confidence_model
      update_model

    PURPOSE:
      deterministic_semantic_integrity_identifier

    RECOMPUTE_WHEN:
      ontology_definition_changes
      B_H_semantic_model_changes
      source_relationship_changes
      material_model_changes
      induction_model_changes
      measurement_model_changes
      reference_frame_model_changes
      constraint_model_changes
      reasoning_rule_changes
      unit_model_changes
  }

}

END FLOW
Kireth Research
38 Thorndale Croft, Wetwang, Driffield
East Riding of Yorkshire YO25 9XZ