Skip to main content

Circulation Ontology

Vector Calculus
Authors: MArk Anthony Higgins - Sky Recursive Ai
© Mark Anthony Higgins 11 October 2025
Revised Date: 23 September 2026
Audio Overview
flow "CirculationOntology" v1.0

# ============================================================
# CIRCULATION ONTOLOGY — FLOW ALGEBRA
# ============================================================

SOURCE_URL := "https://kirethresearch.org/booksai-core/ontologies/calculus-analysis-ontologies/vector-calculus/circulation-ontology.html"
DOMAIN := "Mathematical Ontologies"
CATEGORY := "Calculus and Analysis Ontologies"
SUBCATEGORY := "Vector Calculus"
ENTITY := "Circulation"

# ---------- CORE ENTITY ----------
CIRCULATION := {
    type: VectorCalculusQuantity,
    domain: VectorCalculus,
    purpose: "Measure the accumulated tangential component of a vector field around an oriented closed curve."
}

# ---------- CORE CONCEPTS ----------
CONCEPTS := {
    CIRCULATION,
    VECTOR_FIELD,
    CLOSED_CURVE,
    LINE_INTEGRAL,
    TANGENT_VECTOR,
    ORIENTATION,
    CURL,
    VORTICITY,
    STOKES_THEOREM,
    GREEN_THEOREM,
    CONSERVATIVE_FIELD,
    IRROTATIONAL_FIELD
}

# ---------- BASIC DEFINITION ----------
for
    vector_field F
    and oriented_closed_curve C

CIRCULATION(F,C)
    := closed_line_integral_C(
        F dot dr
    )

F dot dr
    -> TANGENTIAL_FIELD_CONTRIBUTION

CIRCULATION
    -> accumulates(TANGENTIAL_VECTOR_FIELD_COMPONENT_AROUND_LOOP)

# ---------- PARAMETRIC FORM ----------
CLOSED_CURVE
    := r(t)

where
    t in [a,b]
    AND r(a) = r(b)

dr
    = r_prime(t) dt

CIRCULATION
    =
integral_from_a_to_b(
    F(r(t))
    dot r_prime(t)
    dt
)

# ---------- ORIENTATION ----------
ORIENTATION
    -> determines(CIRCULATION_SIGN)

if
    curve_orientation_reversed
then

CIRCULATION
    -> -CIRCULATION

POSITIVE_ORIENTATION
    -> commonly(COUNTERCLOCKWISE)
       for(planar_simple_closed_curves)

# ---------- TANGENTIAL COMPONENT ----------
if
    T_hat
        := UNIT_TANGENT_VECTOR
then

dr
    = T_hat ds

therefore

CIRCULATION
    =
closed_line_integral_C(
    F dot T_hat ds
)

F dot T_hat
    -> TANGENTIAL_COMPONENT

# ---------- LOCAL CURL RELATION ----------
CURL
    -> measures(LOCAL_CIRCULATION_DENSITY)

for small surface S
with boundary C:

normal_component_of(CURL)
    ~= CIRCULATION / AREA(S)

as
    area(S) -> 0

CURL
    -> localises(CIRCULATION)

# ---------- STOKES THEOREM ----------
if
    S oriented_surface
    AND boundary(S) = C
    AND orientations_are_compatible
then

closed_line_integral_C(
    F dot dr
)
    =
surface_integral_S(
    CURL(F) dot n_hat dS
)

STOKES_THEOREM
    -> converts(BOUNDARY_CIRCULATION, SURFACE_CURL_FLUX)

# ---------- GREEN THEOREM ----------
for planar field
    F = (P,Q)

and positively oriented boundary C
of planar region D:

closed_line_integral_C(
    P dx + Q dy
)
    =
double_integral_D(
    partial_Q/partial_x
    - partial_P/partial_y
    dA
)

GREEN_THEOREM
    -> planar_circulation_form_of(STOKES_RELATION)

# ---------- CONSERVATIVE FIELD ----------
if
    F = GRADIENT(phi)
    AND domain_conditions_hold
then

CIRCULATION_AROUND_CLOSED_CURVE
    = 0

CONSERVATIVE_FIELD
    -> ZERO_CIRCULATION_ON_CLOSED_LOOPS

ZERO_CIRCULATION
    -> characteristic_of(PATH_INDEPENDENCE)
       under(APPROPRIATE_GLOBAL_CONDITIONS)

# ---------- IRROTATIONAL FIELD ----------
IRROTATIONAL_FIELD
    := vector_field_with(
        CURL(F) = ZERO_VECTOR
    )

IRROTATIONAL
    -> locally_zero_circulation_density

IRROTATIONAL
    -/> necessarily_implies(ZERO_GLOBAL_CIRCULATION)
       without(DOMAIN_TOPOLOGY_CONDITIONS)

# ---------- FLUID MECHANICS ----------
if
    v
        := fluid_velocity_field
then

CIRCULATION
    := closed_line_integral_C(
        v dot dr
    )

CIRCULATION
    -> measures(NET_TANGENTIAL_FLOW_AROUND_LOOP)

VORTICITY
    := CURL(v)

VORTICITY
    -> local_rotation_measure

# ---------- KELVIN CIRCULATION RELATION ----------
KELVIN_CIRCULATION_THEOREM
    -> concerns(CONSERVATION_OF_CIRCULATION)
       under(SPECIFIC_IDEAL_FLUID_ASSUMPTIONS)

CIRCULATION
    -> may_be_dynamical_quantity_in(FLUID_MECHANICS)

# ---------- ELECTROMAGNETISM ----------
AMPERE_MAXWELL_LAW_INTEGRAL_FORM:

closed_line_integral_C(
    B dot dl
)
    =
mu_0 * I_enclosed
+
mu_0 * epsilon_0
* d/dt(ELECTRIC_FLUX)

MAGNETIC_FIELD_CIRCULATION
    -> related_to(CURRENT_AND_CHANGING_ELECTRIC_FLUX)

FARADAY_LAW_INTEGRAL_FORM:

closed_line_integral_C(
    E dot dl
)
    =
-d/dt(MAGNETIC_FLUX)

ELECTRIC_FIELD_CIRCULATION
    -> related_to(CHANGING_MAGNETIC_FLUX)

# ---------- OPEN PATH DISTINCTION ----------
LINE_INTEGRAL_ON_OPEN_CURVE
    := integral_C(F dot dr)

OPEN_CURVE_LINE_INTEGRAL
    -/> normally_called(CIRCULATION_AROUND_LOOP)

CIRCULATION
    -> conventionally_associated_with(CLOSED_CURVE)

# ---------- SIGN ----------
CIRCULATION > 0
    -> field_has_net_component_with(CHOSEN_POSITIVE_ORIENTATION)

CIRCULATION < 0
    -> field_has_net_component_against(CHOSEN_POSITIVE_ORIENTATION)

CIRCULATION = 0
    -> net_tangential_accumulation_zero

ZERO_CIRCULATION
    -/> implies(ZERO_FIELD)

# ---------- APPLICATIONS ----------
CIRCULATION
    -> applied_to(FLUID_DYNAMICS)
    -> applied_to(VORTEX_ANALYSIS)
    -> applied_to(ELECTROMAGNETISM)
    -> applied_to(AERODYNAMICS)
    -> applied_to(VECTOR_FIELD_ANALYSIS)
    -> applied_to(INTEGRAL_THEOREMS)

# ---------- RELATION GRAPH ----------
VECTOR_FIELD
    -> projected_onto(TANGENT_DIRECTION)

TANGENTIAL_COMPONENT
    -> integrated_around(CLOSED_CURVE)

LINE_INTEGRAL
    -> produces(CIRCULATION)

ORIENTATION
    -> determines(CIRCULATION_SIGN)

CURL
    -> localises(CIRCULATION)

STOKES_THEOREM
    -> converts(CIRCULATION, CURL_SURFACE_INTEGRAL)

GREEN_THEOREM
    -> planar_relation_of(CIRCULATION_TO_SCALAR_CURL)

# ---------- SEMANTIC EQUIVALENCE ----------
SEMANTIC_EQUIVALENCE := {
    "circulation" ~= "closed line integral of the tangential component of a vector field",
    "circulation integral" ~= "closed vector line integral",
    "fluid circulation" ~= "closed line integral of fluid velocity",
    "local circulation density" ~= "normal component of curl in the infinitesimal limit",
    "positive circulation" ~= "net tangential alignment with the chosen positive orientation",
    "zero circulation" ~= "zero net tangential accumulation around the specified loop"
}

# ---------- CONSTRAINTS ----------
CONSTRAINTS := {
    circulation_requires_oriented_closed_curve_in_standard_usage: true,
    reversing_orientation_reverses_sign: true,
    circulation_is_not_flux: true,
    zero_circulation_does_not_mean_zero_vector_field: true,
    conservative_field_has_zero_closed_loop_circulation_under_domain_conditions: true,
    curl_free_does_not_guarantee_zero_global_circulation_without_topology_conditions: true,
    stokes_and_green_theorems_require_orientation_and_regularity_conditions: true
}

# ---------- CONFIDENCE ----------
CONFIDENCE := {
    core_definition: 0.99,
    orientation_relation: 0.99,
    curl_relation: 0.99,
    stokes_relation: 0.99,
    green_relation: 0.99,
    fluid_electromagnetic_relations: 0.98,
    semantic_equivalence: 0.97
}

# ---------- RECURSIVE REASONING ----------
RECURSIVE_REASONING(query):
    identify(vector_field)
    -> identify(closed_curve)
    -> determine(curve_orientation)
    -> parameterise(curve_if_required)
    -> compute(tangent_vector)
    -> construct(tangential_line_integral)
    -> evaluate(circulation)
    -> compute(curl_if_local_rotation_analysis_requested)
    -> apply(stokes_or_green_theorem_if_valid)
    -> analyse(conservative_or_irrotational_conditions_if_relevant)
    -> validate(domain_orientation_and_regularity)
    -> interpret(physical_or_geometric_context)
    -> return(semantic_result)

# ---------- AI CONSUMPTION ----------
AI_CONSUMPTION := {
    parse_as: "typed circulation semantic graph",
    primary_entity: CIRCULATION,
    preserve: [
        vector_field,
        closed_curve,
        orientation,
        tangent_direction,
        line_integral,
        domain_topology,
        physical_context
    ],
    infer_through: [
        curl,
        vorticity,
        stokes_theorem,
        green_theorem,
        conservative_fields,
        electromagnetism,
        fluid_flow
    ],
    avoid: [
        confusing_circulation_with_flux,
        ignoring_curve_orientation,
        treating_open_path_integral_as closed circulation without context,
        assuming_zero_circulation_means zero field,
        assuming_curl_free means zero global circulation without topology conditions,
        applying_stokes_or_green_without hypotheses
    ]
}

# ---------- UPDATE MODEL ----------
UPDATE_MODEL(new_information):
    validate(new_information)
    -> identify(circulation_context)
    -> compare(existing_relations)
    -> preserve(curve_orientation_and_topology_invariants)
    -> update(affected_entities)
    -> update(affected_edges)
    -> recompute(CONFIDENCE)
    -> regenerate(FLOW_HASH)

# ---------- FLOW HASH ----------
FLOW_HASH := hash(
    SOURCE_URL
    + ENTITY
    + CONCEPTS
    + CIRCULATION
    + CLOSED_CURVE
    + ORIENTATION
    + CURL
    + VORTICITY
    + STOKES_THEOREM
    + GREEN_THEOREM
    + CONSERVATIVE_FIELD
    + SEMANTIC_EQUIVALENCE
    + CONSTRAINTS
)

# ---------- EXECUTION ----------
INPUT(query)
    -> CIRCULATION
    -> VECTOR_FIELD_IDENTIFICATION
    -> CLOSED_CURVE_IDENTIFICATION
    -> ORIENTATION_ANALYSIS
    -> PARAMETERISATION_ANALYSIS
    -> TANGENT_COMPONENT_ANALYSIS
    -> LINE_INTEGRAL_CONSTRUCTION
    -> CIRCULATION_EVALUATION
    -> CURL_VORTICITY_ANALYSIS
    -> STOKES_GREEN_ANALYSIS
    -> FIELD_PROPERTY_ANALYSIS
    -> RECURSIVE_REASONING(query)
    -> CONFIDENCE
    -> OUTPUT(semantic_result)

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