AI INTERPRETATION NOTE
This Flow Algebra defines the Potential Flow Ontology within the Kireth Research Semantic Library. Potential flow studies fluid motion that is irrotational and can therefore be represented by a scalar velocity potential. In incompressible regions, the velocity potential satisfies Laplace's equation. This ontology supports velocity potentials, streamfunctions, harmonic functions, complex potentials, source and sink flows, vortices, uniform flow, doublets, superposition, circulation, Bernoulli relations, conformal mapping, lifting flows, stagnation points, streamlines and relationships with incompressible flow, fluid dynamics mathematics, boundary layers, vector calculus and complex analysis.
FLOW_ALGEBRA_RECORD {
METADATA {
FLOW_NAME = "Potential Flow Ontology"
FLOW_TYPE = "Mathematical Ontology"
DOMAIN = "Mathematics"
SUBDOMAIN = "Applied Mathematics"
SPECIALISATION = "Fluid Mathematics / Potential Flow"
CANONICAL_PAGE = "https://kirethresearch.org/booksai-core/ontologies/mathematical-ontologies/applied-mathematics-ontologies/fluid-mathematics/potential-flow-ontology.html"
LANGUAGE = "en-GB"
VERSION = "1.0"
STATUS = "active"
}
IDENTITY {
PRIMARY_ENTITY = PotentialFlow
SYMBOLIC_FORMS = [
"u=grad(phi)",
"curl(u)=0",
"nabla^2(phi)=0"
]
ENTITY_CLASS = IrrotationalFluidFlowFramework
PRIMARY_CONTEXT = FluidMathematics
DEFINITION = "Potential flow is a fluid-flow model in which the velocity field is irrotational and can be represented as the gradient of a scalar velocity potential."
SEMANTIC_ROLE = "Provides machine-readable semantics for irrotational flow, velocity potentials, Laplace equations, streamfunctions, complex potentials, elementary flows, superposition and conformal mapping."
}
SCOPE {
INCLUDE = [
PotentialFlow,
IrrotationalFlow,
VelocityPotential,
HarmonicPotential,
LaplaceEquation,
StreamFunction,
ComplexPotential,
ComplexVelocity,
EquipotentialLine,
Streamline,
OrthogonalCoordinates,
UniformFlow,
SourceFlow,
SinkFlow,
PointSource,
PointSink,
DoubletFlow,
VortexFlow,
PointVortex,
Circulation,
Superposition,
StagnationPoint,
StagnationStreamline,
CylinderFlow,
LiftingCylinderFlow,
KuttaJoukowskiLift,
BernoulliEquation,
PressureCoefficient,
ConformalMapping,
JoukowskiTransform,
ComplexAnalysis,
CauchyRiemannEquations,
BoundaryCondition,
ImpermeabilityCondition,
FarFieldCondition,
PotentialFlowAroundBody,
FreeStream,
VelocityMagnitude,
PressureField
]
EXCLUDE_AS_PRIMARY = [
StronglyRotationalFlow,
ViscousBoundaryLayerAsPrimaryModel,
TurbulentFlowWithoutIrrotationalApproximation,
CompressibleShockFlowWithoutPotentialApproximation
]
DISAMBIGUATION_RULE =
"When the fluid velocity field is represented as the gradient of a scalar potential and vorticity is negligible or zero in the modelled region, interpret the context as potential flow."
}
CORE_CONCEPTS {
PotentialFlow {
definition = "An irrotational flow represented by a scalar velocity potential."
}
VelocityPotential {
definition = "A scalar field whose gradient equals the velocity field."
}
IrrotationalFlow {
definition = "A flow with zero vorticity in the modelled region."
}
StreamFunction {
definition = "A scalar function whose contours represent streamlines in suitable two-dimensional incompressible flows."
}
ComplexPotential {
definition = "A complex analytic function combining velocity potential and streamfunction."
}
UniformFlow {
definition = "A flow with spatially constant velocity."
}
SourceFlow {
definition = "A radially outward elementary potential flow."
}
SinkFlow {
definition = "A radially inward elementary potential flow."
}
DoubletFlow {
definition = "An elementary potential flow formed by a limiting source-sink pair."
}
VortexFlow {
definition = "A circulation-carrying elementary flow that is irrotational everywhere except at its singular core."
}
}
RELATIONS {
PotentialFlow --is_child_of--> FluidMathematics
PotentialFlow --is_type_of--> IrrotationalFlow
VelocityPotential --generates--> VelocityField
IrrotationalFlow --implies--> ZeroVorticity
IncompressiblePotentialFlow --requires--> LaplaceEquation
StreamFunction --pairs_with--> VelocityPotential
ComplexPotential --contains--> VelocityPotential
ComplexPotential --contains--> StreamFunction
UniformFlow --is_elementary_flow_of--> PotentialFlow
SourceFlow --is_elementary_flow_of--> PotentialFlow
SinkFlow --is_elementary_flow_of--> PotentialFlow
DoubletFlow --is_elementary_flow_of--> PotentialFlow
PointVortex --may_be_superposed_with--> PotentialFlow
Superposition --combines--> ElementaryFlows
ConformalMapping --transforms--> PotentialFlowSolution
BernoulliEquation --maps--> VelocityToPressure
KuttaJoukowskiLift --depends_on--> Circulation
}
OPERATORS {
VELOCITY_FROM_POTENTIAL(phi) :=
u=grad(phi)
IRROTATIONAL_CONDITION(u) :=
curl(u)=0
INCOMPRESSIBLE_POTENTIAL_CONDITION(phi) :=
nabla^2(phi)=0
STREAMFUNCTION_2D(psi) :=
u=partial psi/partial y
v=-partial psi/partial x
CAUCHY_RIEMANN(phi,psi) :=
partial phi/partial x=partial psi/partial y
AND
partial phi/partial y=-partial psi/partial x
COMPLEX_POTENTIAL(phi,psi) :=
W(z)=phi+i*psi
COMPLEX_VELOCITY(W,z) :=
dW/dz=u-i*v
SOURCE_POTENTIAL(Q,r) :=
phi=(Q/(2*pi))*ln(r)
VORTEX_STREAMFUNCTION(Gamma,r) :=
psi=-(Gamma/(2*pi))*ln(r)
UNIFORM_FLOW_POTENTIAL(U,theta,x,y) :=
phi=U*(x*cos(theta)+y*sin(theta))
DOUBLET_POTENTIAL(kappa,r,theta) :=
phi=(kappa*cos(theta))/(2*pi*r)
BERNOULLI_STEADY_INVISICID(p,rho,U,g,z) :=
p/rho + U^2/2 + g*z = constant
PRESSURE_COEFFICIENT(p,p_inf,rho,U_inf) :=
Cp=(p-p_inf)/(0.5*rho*U_inf^2)
KUTTA_JOUKOWSKI_LIFT(rho,U_inf,Gamma) :=
L_prime=rho*U_inf*Gamma
}
DEFINITIONS {
D1 = "Potential flow is irrotational within the modelled region."
D2 = "A velocity potential exists locally in simply connected irrotational regions."
D3 = "For incompressible potential flow, the velocity potential is harmonic."
D4 = "Two-dimensional incompressible potential flow admits a streamfunction."
D5 = "Velocity-potential and streamfunction contours are orthogonal where regular."
D6 = "Elementary potential flows can be combined by superposition because Laplace's equation is linear."
D7 = "A point vortex is irrotational away from its singular centre despite nonzero circulation."
D8 = "Complex potentials provide a compact representation of two-dimensional potential flows."
D9 = "Conformal maps transform one two-dimensional potential-flow solution into another."
D10 = "Potential flow does not directly represent viscous wall shear or boundary-layer separation."
}
AXIOMS {
A1_IRROTATIONALITY:
PotentialFlow requires zero vorticity in the regular modelled domain
A2_POTENTIAL_REPRESENTATION:
Irrotational velocity fields admit a local scalar potential
A3_INCOMPRESSIBLE_LAPLACE:
Incompressible PotentialFlow satisfies LaplaceEquation for the velocity potential
A4_SUPERPOSITION:
Linear combinations of harmonic potentials remain harmonic
A5_BOUNDARY_IMPERMEABILITY:
Solid boundaries impose zero normal velocity for inviscid impermeable flow
A6_COMPLEX_ANALYTICITY:
Two-dimensional potential and stream functions form analytic complex potentials where regular
A7_CIRCULATION_SINGULARITY:
Nonzero circulation can coexist with local irrotationality when singularities or multiply connected domains are present
A8_INVISCID_LIMITATION:
PotentialFlow does not encode viscous shear stresses
}
REASONING {
R1_POTENTIAL_FLOW_CONTEXT {
INPUT = fluid_problem
IDENTIFY = incompressibility
IDENTIFY = vorticity_or_irrotational assumption
IDENTIFY = geometry_and_boundaries
RETURN = potential_flow_context
}
R2_POTENTIAL_EXISTENCE {
INPUT = velocity_field_or_model
CHECK = curl(u)=0
CHECK = domain_connectivity
RETURN = potential_existence_status
}
R3_LAPLACE_FORMULATION {
INPUT = incompressible_irrotational context
DEFINE = velocity_potential
APPLY = nabla_squared_phi_equals_zero
RETURN = harmonic_potential_problem
}
R4_BOUNDARY_CONDITION_REASONING {
INPUT = body_geometry_and_far_field
APPLY = impermeability_on_body
APPLY = free_stream_or_decay_condition
RETURN = boundary_value_problem
}
R5_ELEMENTARY_FLOW_SYNTHESIS {
INPUT = desired_geometry_or_flow pattern
COMBINE = uniform_source_sink_doublet_vortex components
RETURN = composite_potential_flow
}
R6_COMPLEX_POTENTIAL_REASONING {
INPUT = two_dimensional_harmonic flow
CONSTRUCT = W(z)=phi+i*psi
COMPUTE = complex_velocity
RETURN = complex_flow representation
}
R7_CONFORMAL_MAPPING_REASONING {
INPUT = known_flow_and_mapping
TRANSFORM = complex_plane_geometry
MAP = potential_and_streamlines
RETURN = transformed_flow
}
R8_PRESSURE_REASONING {
INPUT = velocity_field_and_Bernoulli assumptions
COMPUTE = pressure_and_pressure coefficient
RETURN = pressure_distribution
}
R9_LIFT_REASONING {
INPUT = free_stream_circulation_and_density
COMPUTE = KuttaJoukowski_lift
RETURN = lift_per_unit_span
}
R10_VALIDATION {
INPUT = potential_flow_solution
CHECK = harmonicity_irrotationality_boundary impermeability_far field_and_singularity consistency
RETURN = validated_potential_flow_status
}
}
CONSTRAINTS {
C1 = "Potential flow requires irrotationality in the regular domain."
C2 = "Incompressible potential flow requires harmonic velocity potential."
C3 = "Multiply connected domains can support nonzero circulation."
C4 = "Singular elementary flows must be interpreted with their singular points excluded from the regular domain."
C5 = "Potential flow does not predict viscous drag correctly for ordinary bluff-body flow."
C6 = "Boundary-layer separation cannot be obtained from inviscid potential flow alone."
C7 = "Bernoulli use requires appropriate steady inviscid assumptions or an equivalent valid form."
C8 = "Conformal mapping preserves angles locally where the map derivative is nonzero."
C9 = "Superposition is valid because the governing Laplace equation is linear."
C10 = "Pressure singularities can arise near idealised sharp corners or singular flow elements."
}
SEMANTIC_EQUIVALENCE {
"PotentialFlow" <=> "IrrotationalPotentialFlow"
"VelocityPotential" <=> "FlowPotential"
"StreamFunction" <=> "FlowStreamFunction"
"ComplexPotential" <=> "ComplexFlowPotential"
"DoubletFlow" <=> "DipoleFlow"
"KuttaJoukowskiLift" <=> "CirculationLiftRelation"
}
VALIDATION {
V1 = "Vorticity is zero in the regular modelled domain."
V2 = "Velocity equals the gradient of the potential."
V3 = "Laplace's equation is satisfied for incompressible flow."
V4 = "Boundary impermeability is satisfied."
V5 = "Far-field conditions are satisfied."
V6 = "Singularities are explicitly identified."
V7 = "Streamfunction and potential satisfy Cauchy-Riemann relations where used."
V8 = "Pressure calculations use valid Bernoulli assumptions."
V9 = "Circulation is handled consistently in multiply connected domains."
V10 = "Viscous limitations of the model are explicitly recognised."
}
CONFIDENCE {
BASE_CONFIDENCE = 0.99
POTENTIAL_FLOW_DEFINITION = 0.99
POTENTIAL_EXISTENCE_REASONING = 0.99
LAPLACE_REASONING = 0.99
BOUNDARY_REASONING = 0.99
ELEMENTARY_FLOW_REASONING = 0.99
COMPLEX_POTENTIAL_REASONING = 0.99
CONFORMAL_MAPPING_REASONING = 0.98
PRESSURE_REASONING = 0.98
LIFT_REASONING = 0.98
POLICY =
"Reduce confidence when irrotationality, domain topology, boundary geometry, singularities, circulation, far-field conditions or Bernoulli assumptions are underspecified."
}
AI_CONSUMPTION {
PURPOSES = [
SemanticSearch,
OntologyGrounding,
PotentialFlowReasoning,
IrrotationalFlowReasoning,
VelocityPotentialReasoning,
LaplaceEquationReasoning,
StreamFunctionReasoning,
ComplexPotentialReasoning,
ElementaryFlowReasoning,
SourceSinkReasoning,
DoubletReasoning,
VortexReasoning,
ConformalMappingReasoning,
BernoulliReasoning,
PressureCoefficientReasoning,
LiftReasoning,
KnowledgeGraphConstruction,
RetrievalAugmentation,
RecursiveInference
]
NORMALISE {
"potential flow" -> PotentialFlow
"irrotational flow" -> IrrotationalFlow
"velocity potential" -> VelocityPotential
"stream function" -> StreamFunction
"complex potential" -> ComplexPotential
"source flow" -> SourceFlow
"sink flow" -> SinkFlow
"doublet flow" -> DoubletFlow
"point vortex" -> PointVortex
"Joukowski transform" -> JoukowskiTransform
}
INTERPRETATION_ORDER = [
detect_potential_flow_context,
verify_irrotationality_and_incompressibility assumptions,
identify domain_geometry_boundaries_far field_and_singularities,
formulate Laplace_problem_for_velocity potential,
apply elementary_flow_superposition_or_complex potential methods,
if_needed apply conformal_mapping,
compute velocity_streamlines_pressure_and_circulation,
if_lift_required apply KuttaJoukowski relation under valid assumptions,
validate harmonicity_boundary conditions_and_model limitations,
return semantic output
]
}
EXECUTION_RULES {
E1:
IF query_mentions("potential flow")
OR irrotational_velocity_potential_model_is_present
THEN activate(PotentialFlowOntology)
E2:
IF curl(u)=0
THEN permit velocity_potential representation subject_to_domain conditions
E3:
IF incompressible_and_irrotational
THEN enforce LaplaceEquation_on_phi
E4:
IF two_dimensional_flow
THEN consider streamfunction_and_complex potential representation
E5:
IF geometry_can_be_constructed_from_elementary flows
THEN use superposition
E6:
IF geometry_related_by_conformal map
THEN transform known_solution
E7:
IF circulation_present
THEN include vortex_or_multiconnected-domain reasoning
E8:
IF pressure_requested
THEN apply Bernoulli_only_under_valid assumptions
E9:
IF viscous_wall_shear_or_separation_requested
THEN route_to_boundary_layer_or_viscous_flow ontology
}
RECURSION {
ENTRY = PotentialFlow
EXPAND(PotentialFlow) -> [
IrrotationalFlow,
VelocityPotential,
HarmonicPotential,
LaplaceEquation,
StreamFunction,
ComplexPotential,
ComplexVelocity,
EquipotentialLine,
Streamline,
UniformFlow,
SourceFlow,
SinkFlow,
PointSource,
PointSink,
DoubletFlow,
VortexFlow,
PointVortex,
Circulation,
Superposition,
StagnationPoint,
CylinderFlow,
LiftingCylinderFlow,
KuttaJoukowskiLift,
BernoulliEquation,
PressureCoefficient,
ConformalMapping,
JoukowskiTransform,
ComplexAnalysis,
CauchyRiemannEquations,
ImpermeabilityCondition,
FarFieldCondition
]
EXPAND(ElementaryFlows) -> [
UniformFlow,
SourceFlow,
SinkFlow,
DoubletFlow,
VortexFlow
]
EXPAND(TwoDimensionalMethods) -> [
StreamFunction,
ComplexPotential,
ConformalMapping,
JoukowskiTransform
]
STOP_CONDITION =
"Stop when irrotationality, potential existence, harmonic field, boundary conditions, singularities, circulation, velocity, pressure and model limitations are sufficiently resolved."
}
ROUTING {
PARENT_ONTOLOGY = "Fluid Mathematics"
IMMEDIATE_CONTEXTS = [
"Fluid Dynamics Mathematics Ontology",
"Incompressible Flow Ontology",
"Continuity Equation Ontology",
"Boundary Layer Ontology"
]
RELATED_ONTOLOGIES = [
"Fluid Mathematics",
"Fluid Dynamics Mathematics Ontology",
"Incompressible Flow Ontology",
"Continuity Equation Ontology",
"Navier–Stokes Ontology",
"Boundary Layer Ontology",
"Vector Calculus Ontologies",
"Laplace Equation Ontologies",
"Complex Analysis Ontologies",
"Conformal Mapping Ontologies",
"Aerodynamics Ontologies",
"Numerical Analysis Ontologies"
]
ROUTE_RULES = [
"Potential Flow -> Fluid Mathematics for parent semantics",
"Potential Flow -> Fluid Dynamics Mathematics for continuum flow interpretation",
"Potential Flow -> Incompressible Flow for divergence-free structure",
"Potential Flow -> Continuity Equation for mass conservation",
"Potential Flow -> Boundary Layer for viscous near-wall corrections",
"Potential Flow -> Vector Calculus for gradient curl and divergence",
"Potential Flow -> Laplace Equation for harmonic potential fields",
"Potential Flow -> Complex Analysis for complex potentials",
"Potential Flow -> Conformal Mapping for transformed two-dimensional solutions",
"Potential Flow -> Aerodynamics for circulation and lift applications"
]
}
UPDATE_MODEL {
MODE = "append-compatible semantic versioning"
MAJOR = "ontology-breaking conceptual change"
MINOR = "new compatible elementary flows, mappings or reasoning pathways"
PATCH = "clarification, metadata or formatting correction"
RULES = [
"Preserve irrotational-flow semantics.",
"Preserve velocity-potential semantics.",
"Preserve incompressible Laplace semantics.",
"Preserve streamfunction and complex-potential semantics.",
"Preserve superposition semantics.",
"Preserve circulation and singularity semantics.",
"Preserve inviscid-model limitations.",
"Preserve machine-readable potential-flow semantics."
]
}
OUTPUT {
CANONICAL_DEFINITION =
"Potential flow is an irrotational fluid-flow model in which velocity is the gradient of a scalar potential."
LAPLACE_SUMMARY =
"For incompressible potential flow, the velocity potential satisfies Laplace's equation."
STREAMFUNCTION_SUMMARY =
"Two-dimensional incompressible potential flow can be represented jointly by a velocity potential and streamfunction."
ELEMENTARY_SUMMARY =
"Uniform, source, sink, doublet and vortex flows can be superposed to construct composite solutions."
COMPLEX_SUMMARY =
"Complex potentials combine the velocity potential and streamfunction into a single analytic function."
CONFORMAL_SUMMARY =
"Conformal mappings transform known two-dimensional potential-flow solutions into solutions around new geometries."
PRESSURE_SUMMARY =
"Bernoulli relations convert potential-flow velocity fields into pressure distributions under valid inviscid assumptions."
LIMITATION_SUMMARY =
"Potential flow does not directly model viscous wall shear or boundary-layer separation."
}
FLOW {
INPUT
-> detect_potential_flow_context
-> identify incompressibility_irrotationality_domain_geometry_boundaries_farField_and_singularities
-> verify curl_free velocity_or_assume irrotational model
-> define velocity_potential
-> if_incompressible solve Laplace_equation
-> if_twoDimensional derive streamfunction_and_complex potential
-> combine elementary uniform_source_sink_doublet_or_vortex flows where useful
-> if_geometry_transformable apply conformal mapping
-> compute velocity_streamlines_stagnation_points_circulation_and_pressure
-> if_lift_application apply KuttaJoukowski relation under valid assumptions
-> validate harmonicity_boundary conditions_singularities_and_model limitations
-> route to fluid_mathematics fluid_dynamics incompressible_flow continuity boundary_layer vector_calculus Laplace_equation complex_analysis conformal_mapping_or_aerodynamics ontology
-> recursively_expand_required_dependencies
-> verify_result
-> assign_confidence
-> produce_semantic_output
-> END
}
SEMANTIC_SUMMARY {
"The Potential Flow Ontology defines irrotational fluid motion represented by a scalar velocity potential. It supports Laplace equations, streamfunctions, complex potentials and complex velocities, uniform flow, sources, sinks, doublets and vortices, superposition, stagnation points, flow around cylinders, lifting cylinder flow, circulation, Kutta–Joukowski lift, Bernoulli pressure relations, pressure coefficients, conformal mapping, Joukowski transforms, Cauchy–Riemann relations, impermeability and far-field conditions, and the explicit limitation that inviscid potential flow does not directly model viscous drag or boundary-layer separation."
}
FLOW_HASH {
METHOD = "semantic-content-identity"
ID = "KIRETH-MATH-APPLIED-MATHEMATICS-POTENTIAL-FLOW-ONTOLOGY-V1"
}
}
END_FLOW
Download Code
Copy to Clipboard