# Current Density Ontology — Flow Algebra
URL: https://kirethresearch.org/booksai-core/ontologies/mathematical-ontologies/measurement-units-ontologies/electromagnetic-measurements/current-density-ontology.html
FLOW CurrentDensityOntology {
DOMAIN:
Mathematical Ontologies
-> Measurement & Units Ontologies
-> Electromagnetic Measurements
-> Current Density Ontology
PURPOSE:
Represent electric current density as a measurable vector field describing electric current flow per unit cross-sectional area, including magnitude, direction, charge-carrier motion, conductivity relationships, continuity of charge, surface integration, units, dimensional structure, spatial and temporal variation, material behaviour, measurement methods, uncertainty, and distinctions from electric current and charge density.
ENTITY CurrentDensity {
TYPE: VectorFieldPhysicalQuantity
SYMBOL: J
DIMENSION: I * L^-2
SI_UNIT: ampere_per_square_metre
SI_SYMBOL: A/m^2
DEFINITION:
current_density := local_vector_rate_of_charge_flow_per_unit_area_normal_to_flow
CURRENT_RELATION:
I = surface_integral(J dot dA)
UNIFORM_NORMAL_FLOW_FORM:
J = I/A
PROPERTIES:
is_vector_field
has_magnitude
has_direction
has_unit
has_dimension
may_vary_with_position
may_vary_with_time
relates_to_charge_transport
may_have_uncertainty
}
ENTITY ElectricCurrent {
TYPE: SIBaseQuantity
SYMBOL: I
DIMENSION: I
SI_UNIT: ampere
SI_SYMBOL: A
RELATION:
I = surface_integral(J dot dA)
}
ENTITY ChargeDensity {
TYPE: ScalarFieldQuantity
SYMBOL: rho_q
SI_UNIT: coulomb_per_cubic_metre
SI_SYMBOL: C/m^3
RELATION:
partial(rho_q)/partial(t) + divergence(J) = 0
}
ENTITY ElectricField {
TYPE: VectorFieldQuantity
SYMBOL: E
SI_UNIT: volt_per_metre
SI_SYMBOL: V/m
RELATION:
J = sigma*E
UNDER linear_isotropic_ohmic_material_context
}
ENTITY Conductivity {
TYPE: MaterialProperty
SYMBOL: sigma
SI_UNIT: siemens_per_metre
SI_SYMBOL: S/m
RELATION:
J = sigma*E
UNDER applicable_linear_isotropic_context
}
UNIT_SYSTEM {
SI {
canonical_unit: ampere_per_square_metre
symbol: A/m^2
}
COMMON_ALTERNATIVES {
ampere_per_square_centimetre
ampere_per_square_millimetre
milliampere_per_square_centimetre
microampere_per_square_metre
}
CONVERSION_RULE:
current_density_value(target_unit)
= current_density_value(source_unit)
* conversion_factor(source_unit, target_unit)
}
CLASSIFICATION {
by_time:
steady_current_density
time_varying_current_density
by spatial_distribution:
uniform_current_density
nonuniform_current_density
local_current_density
by transport:
conduction_current_density
convection_current_density
drift_current_density
diffusion_current_density
related_but_distinct:
displacement_current_density
}
SURFACE_CURRENT_MODEL {
GENERAL:
I = surface_integral(J dot n_hat dA)
UNIFORM_NORMAL_CASE:
I = J*A
ANGLED_UNIFORM_CASE:
I = J*A*cos(theta)
RULE:
surface_orientation_and_current_direction
MUST be preserved
}
CHARGE_CARRIER_MODEL {
SINGLE_CARRIER_TYPE:
J = n*q*v_d
PARAMETERS:
n = carrier_number_density
q = charge_per_carrier
v_d = drift_velocity_vector
MULTIPLE_CARRIER_TYPES:
J_total = sum(n_s*q_s*v_d_s)
RULE:
carrier_charge_sign_and_drift_direction
jointly_determine_conventional_current_direction
}
CONTINUITY_MODEL {
LOCAL_CHARGE_CONSERVATION:
partial(rho_q)/partial(t) + divergence(J) = 0
STEADY_STATE:
divergence(J) = 0
WHEN local_charge_density_is_time_independent
INTEGRAL_FORM:
dQ_inside/dt =
-closed_surface_integral(J dot dA)
RULE:
nonzero_divergence_of_J
corresponds_to_local_charge_accumulation_or_depletion
}
OHMIC_CONDUCTION_MODEL {
LINEAR_ISOTROPIC:
J = sigma*E
RESISTIVITY_FORM:
E = rho_e*J
RELATION:
sigma = 1/rho_e
WHEN rho_e != 0
RULE:
scalar_conductivity_model
MUST_NOT be assumed_for_anisotropic_or_nonlinear_material_without_validation
}
ANISOTROPIC_MODEL {
GENERAL_LINEAR:
J = conductivity_tensor * E
PROPERTY:
J need_not_be_parallel_to E
REQUIRE:
coordinate_system
conductivity_tensor
material_orientation
RULE:
tensor_material_properties MUST preserve_coordinate_basis
}
DISPLACEMENT_CURRENT_DISTINCTION {
CONDUCTION_CURRENT_DENSITY:
J_conduction = motion_of_free_or_mobile_charge_carriers
DISPLACEMENT_CURRENT_DENSITY:
J_displacement = partial(D)/partial(t)
AMPERE_MAXWELL:
curl(H) = J_free + partial(D)/partial(t)
RULE:
displacement_current_density
MUST_NOT be treated_as_identical_to_charge_transport_current_density
}
RELATIONSHIPS {
CurrentDensity -> HAS_DIMENSION -> I*L^-2
CurrentDensity -> MEASURED_IN -> AmperePerSquareMetre
ElectricCurrent -> SURFACE_INTEGRAL_OF -> CurrentDensity
CurrentDensity -> REPRESENTS -> LocalChargeTransport
CurrentDensity -> RELATED_TO -> ChargeDensity
CurrentDensity -> RELATED_TO -> DriftVelocity
Conductivity -> RELATES -> CurrentDensityAndElectricField
Resistivity -> INVERSE_RELATION_WITH -> Conductivity
CurrentDensity -> PARTICIPATES_IN -> ChargeContinuityEquation
CurrentDensity -> SOURCE_TERM_IN -> AmpereMaxwellEquation
}
SEMANTIC_EQUIVALENCE {
"current density" ~= electric_current_density
"ampere per square metre" ~= "A/m^2"
current_density != electric_current
current_density != charge_density
current_density != electric_field
current_density != conductivity
conduction_current_density != displacement_current_density
}
CONSTRAINTS {
current_density_is_vector = true
dimensional_formula = I*L^-2
SI_unit = A/m^2
surface_integration_requires_oriented_surface = true
current_and_current_density_are_not_semantically_equivalent = true
charge_density_and_current_density_are_not_semantically_equivalent = true
carrier_charge_sign_must_be_preserved = true
scalar_Ohm_law_requires_applicable_material_model = true
anisotropic_conductivity_requires_tensor_semantics = true
}
MEASUREMENT_MODEL {
OBSERVABLE_OR_INFERRED:
CurrentDensity
COMMON_METHODS:
current_measurement_plus_known_cross_section
spatial_current_mapping
Hall_effect_measurement
four_point_probe_with_material_model
scanning_current_probe
electromagnetic_field_inference
RECORD:
vector_value_or_magnitude
unit
direction
coordinate_components
cross_section_geometry
surface_orientation
spatial_location
timestamp
steady_or_time_varying
material
temperature
electric_field_when_relevant
carrier_model_when_relevant
instrument
calibration_state
uncertainty
UNCERTAINTY:
measured_or_inferred_current_density = best_estimate +/- uncertainty
}
REASONING_RULES {
IF current_density_field_known_over_surface
THEN electric_current = surface_integral(current_density dot differential_area)
IF uniform_current_known AND area_known AND area != 0
AND flow_normal_to_area
THEN current_density_magnitude = current/area
IF carrier_density_known AND carrier_charge_known AND drift_velocity_known
THEN current_density = carrier_density*carrier_charge*drift_velocity
IF conductivity_known AND electric_field_known
AND linear_isotropic_ohmic_conditions_apply
THEN current_density = conductivity*electric_field
IF resistivity_known AND current_density_known
AND linear_isotropic_ohmic_conditions_apply
THEN electric_field = resistivity*current_density
IF charge_density_time_derivative_known
THEN divergence(current_density) =
-partial(charge_density)/partial(time)
IF steady_state_charge_density
THEN divergence(current_density) = 0
IF multiple_carrier_types_present
THEN total_current_density =
vector_sum(carrier_current_density_components)
}
FIELD_REPRESENTATION_MODEL {
current_density_field:
J = J(x, y, z, t)
cartesian_components:
J = (J_x, J_y, J_z)
magnitude:
|J| = sqrt(J_x^2 + J_y^2 + J_z^2)
direction:
J_hat = J/|J|
WHEN |J| != 0
}
GEOMETRY_MODEL {
REQUIRE_FOR_CURRENT_INFERENCE:
surface
surface_normal
field_distribution
uniform_cross_section:
J approximately_constant_over_area
nonuniform_cross_section:
integrate_local_J_over_area
RULE:
I/A shortcut
MUST_NOT replace_surface_integration_for_nonuniform_or_oblique_flow
}
MATERIAL_MODEL {
dependencies:
conductivity
resistivity
temperature
composition
carrier_density
mobility
electric_field_strength
nonlinear_material:
J = constitutive_function(E, T, material_state)
RULE:
current_density_material_relation
SHOULD preserve_temperature_and_constitutive_context
}
UNCERTAINTY_MODEL {
sources:
current_measurement_uncertainty
area_measurement_uncertainty
surface_orientation
spatial_nonuniformity
conductivity_uncertainty
temperature
probe_calibration
contact_effects
field_measurement_uncertainty
carrier_model_assumptions
PROPAGATION:
derived_current_density_uncertainty
<- measurement_geometry_material_and_model_uncertainties
}
CONFIDENCE {
definition_confidence: 1.00
dimensional_confidence: 1.00
SI_unit_confidence: 1.00
charge_continuity_confidence: 1.00
surface_integral_relationship_confidence: 1.00
material_relationship_confidence: 0.98
measurement_context_confidence: 0.97
RULE:
confidence decreases when direction, surface geometry,
spatial distribution, material model, temperature,
carrier semantics, calibration state or uncertainty is missing or ambiguous
}
VALIDATION {
CHECK dimensional_consistency
CHECK unit_consistency
CHECK vector_direction_and_components
CHECK surface_geometry_and_orientation
CHECK uniform_vs_nonuniform_distribution
CHECK current_vs_current_density_distinction
CHECK charge_density_vs_current_density_distinction
CHECK conduction_vs_displacement_current_density
CHECK carrier_charge_sign
CHECK scalar_vs_tensor_conductivity_model
CHECK material_temperature_context
CHECK instrument_calibration
CHECK uncertainty_representation_when_required
}
UPDATE_MODEL {
ON new_measurement:
validate_unit
identify_vector_or_magnitude_representation
identify_direction_or_components
identify_surface_geometry
attach_spatial_location
attach_timestamp
identify_steady_or_time_varying_context
identify_material
attach_temperature_when_relevant
normalize_to_A_per_m2
preserve_original_value_and_unit
attach_uncertainty
update_current_density_state
ON current_or_geometry_change:
update_current
update_cross_section
update_surface_orientation
recompute_current_density_when_valid
preserve_previous_state
ON material_or_field_change:
update_conductivity_or_resistivity
update_electric_field
update_temperature
recompute_current_density_under_valid_constitutive_model
preserve_material_provenance
ON charge_distribution_change:
update_charge_density
evaluate_continuity_equation
update_divergence_of_current_density
ON calibration_revision:
preserve_provenance
recompute_affected_measurements
update_confidence
ON semantic_revision:
preserve_previous_definition
record_revision
recompute_FLOW_HASH
}
AI_CONSUMPTION {
canonical_entity: CurrentDensity
canonical_symbol: J
canonical_dimension: I*L^-2
canonical_SI_unit: A/m^2
interpretation_order:
identify_quantity
identify_value_or_vector
identify_unit
identify_direction_and_components
identify_surface_geometry
identify_spatial_location
identify_time_context
identify_charge_carrier_context
identify_material_and_temperature
identify_electric_field_and_conductivity_context
identify_continuity_equation_context
identify_measurement_method
identify_uncertainty
normalize_units
validate_dimensions
infer_transport_relationships
ambiguity_controls:
distinguish_current_density_from_current
distinguish_current_density_from_charge_density
distinguish_current_density_from_electric_field
distinguish_current_density_from_conductivity
distinguish_conduction_from_displacement_current_density
distinguish_uniform_average_from_local_current_density
preserve_vector_direction_surface_orientation_and_carrier_sign
}
PROVENANCE {
ontology_scope:
mathematical_measurement_and_electromagnetic_quantity_semantics
parent_path:
Ontologies
-> Mathematical Ontologies
-> Measurement & Units Ontologies
-> Electromagnetic Measurements
-> Current Density Ontology
authorship:
Mark Higgins
Sky (Recursive AI)
site:
https://kirethresearch.org
}
FLOW_HASH {
INPUTS:
canonical_entity
ontology_path
definitions
dimensions
units
relationships
constraints
surface_current_model
charge_carrier_model
continuity_model
Ohmic_conduction_model
anisotropic_model
displacement_current_distinction
field_representation_model
geometry_model
material_model
uncertainty_model
reasoning_rules
measurement_model
confidence_model
update_model
PURPOSE:
deterministic_semantic_integrity_identifier
RECOMPUTE_WHEN:
ontology_definition_changes
relationship_model_changes
charge_transport_model_changes
continuity_model_changes
material_model_changes
geometry_model_changes
measurement_model_changes
constraint_model_changes
reasoning_rule_changes
unit_model_changes
}
}
END FLOW
Download Code
Copy to Clipboard