Skip to main content

Oscillation Ontology

Dynamical Systems
Authors: MArk Anthony Higgins - Sky Recursive Ai
© Mark Anthony Higgins 11 October 2025
Revised Date: 12 September 2026
Audio Overview
AI INTERPRETATION NOTE
This Flow Algebra defines the Oscillation Ontology within the Kireth Research Semantic Library. Oscillation theory studies repeated or quasi-repeated variation around an equilibrium, reference trajectory or mean state in dynamical systems. This ontology supports simple harmonic motion, damped and driven oscillators, nonlinear oscillations, resonance, natural frequency, phase, amplitude, limit cycles, relaxation oscillations, coupled oscillators, beats, synchronisation, entrainment, parametric resonance, self-excited oscillations, Floquet analysis, averaging, multiple-scales methods and relationships with dynamical systems, nonlinear dynamics, stability, bifurcation theory, control theory and signal processing.

FLOW_ALGEBRA_RECORD {

METADATA {
 FLOW_NAME = "Oscillation Ontology"
 FLOW_TYPE = "Mathematical Ontology"
 DOMAIN = "Mathematics"
 SUBDOMAIN = "Applied Mathematics"
 SPECIALISATION = "Dynamical Systems / Oscillation"
 CANONICAL_PAGE = "https://kirethresearch.org/booksai-core/ontologies/mathematical-ontologies/applied-mathematics-ontologies/dynamical-systems/oscillation-ontology.html"
 LANGUAGE = "en-GB"
 VERSION = "1.0"
 STATUS = "active"
}

IDENTITY {
 PRIMARY_ENTITY = Oscillation
 SYMBOLIC_FORMS = [
  "x(t+T)=x(t)",
  "x''+2*zeta*omega_n*x'+omega_n^2*x=F(t)",
  "x=A*cos(omega*t+phi)"
 ]
 ENTITY_CLASS = RecurrentTemporalDynamicsFramework
 PRIMARY_CONTEXT = DynamicalSystems
 DEFINITION = "Oscillation is repeated or approximately repeated variation of a dynamical variable around an equilibrium, reference state or mean trajectory."
 SEMANTIC_ROLE = "Provides machine-readable semantics for periodic motion, frequency, amplitude, phase, damping, forcing, resonance, limit cycles, nonlinear oscillations, synchronisation and oscillatory stability."
}

SCOPE {
 INCLUDE = [
  Oscillation,
  Oscillator,
  PeriodicMotion,
  QuasiperiodicMotion,
  SimpleHarmonicMotion,
  HarmonicOscillator,
  DampedOscillator,
  UndampedOscillator,
  ForcedOscillator,
  DrivenOscillator,
  NonlinearOscillator,
  SelfExcitedOscillator,
  ParametricOscillator,
  CoupledOscillator,
  LimitCycleOscillator,
  RelaxationOscillator,
  NaturalFrequency,
  AngularFrequency,
  OscillationFrequency,
  Period,
  Amplitude,
  Phase,
  PhaseDifference,
  Damping,
  DampingRatio,
  Underdamping,
  CriticalDamping,
  Overdamping,
  Resonance,
  ForcedResonance,
  ParametricResonance,
  Detuning,
  Beats,
  Envelope,
  QualityFactor,
  EnergyExchange,
  TransientResponse,
  SteadyStateResponse,
  LimitCycle,
  PhasePlane,
  PhasePortrait,
  Synchronisation,
  Entrainment,
  PhaseLocking,
  FrequencyLocking,
  ArnoldTongue,
  FloquetTheory,
  FloquetMultiplier,
  AveragingMethod,
  MultipleScalesMethod,
  HarmonicBalance,
  VanDerPolOscillator,
  DuffingOscillator,
  MathieuEquation
 ]

 EXCLUDE_AS_PRIMARY = [
  AperiodicDynamicsWithoutOscillatoryStructure,
  PureSignalPeriodicityWithoutDynamicalMechanism,
  StaticVibrationModeWithoutTimeEvolution,
  RandomFluctuationWithoutCoherentOscillation
 ]

 DISAMBIGUATION_RULE =
  "When a dynamical variable repeatedly varies around a reference state with identifiable amplitude, phase, frequency, periodicity or resonant structure, interpret the context as oscillation."
}

CORE_CONCEPTS {

 Oscillation {
  definition = "Repeated or approximately repeated temporal variation around a reference state or mean."
 }

 HarmonicOscillator {
  definition = "An oscillator governed by a linear restoring force proportional to displacement."
 }

 DampedOscillator {
  definition = "An oscillator whose energy decreases because of dissipative effects."
 }

 ForcedOscillator {
  definition = "An oscillator driven by an external time-dependent input."
 }

 NonlinearOscillator {
  definition = "An oscillator whose restoring, damping or forcing terms depend nonlinearly on the state."
 }

 Resonance {
  definition = "Large response produced when forcing interacts strongly with a system's natural oscillatory modes."
 }

 LimitCycle {
  definition = "An isolated periodic orbit attracting or repelling nearby trajectories."
 }

 RelaxationOscillator {
  definition = "A nonlinear oscillator with slow and fast phases caused by timescale separation."
 }

 Synchronisation {
  definition = "Coordination of oscillatory phase, frequency or timing between coupled systems."
 }

 Entrainment {
  definition = "Locking of an oscillator to an external periodic forcing."
 }
}

RELATIONS {
 Oscillation --is_child_of--> DynamicalSystems
 HarmonicOscillator --is_type_of--> Oscillator
 DampedOscillator --is_type_of--> Oscillator
 ForcedOscillator --is_type_of--> Oscillator
 NonlinearOscillator --is_type_of--> Oscillator
 LimitCycleOscillator --has--> LimitCycle
 NaturalFrequency --characterises--> Oscillator
 DampingRatio --classifies--> DampedOscillator
 Resonance --depends_on--> FrequencyRelation
 ParametricResonance --depends_on--> ParameterModulation
 Beats --result_from--> NearbyFrequencies
 CoupledOscillator --may_exhibit--> Synchronisation
 ExternalPeriodicForcing --may_cause--> Entrainment
 FloquetMultiplier --determines--> PeriodicOrbitStability
 AveragingMethod --approximates--> WeaklyNonlinearOscillation
 MultipleScalesMethod --approximates--> WeaklyNonlinearOscillation
 HarmonicBalance --approximates--> PeriodicResponse
}

OPERATORS {
 PERIODICITY_CONDITION(x,T,t) :=
  x(t+T)=x(t)

 SIMPLE_HARMONIC_OSCILLATOR(x,omega_n) :=
  x''+omega_n^2*x=0

 DAMPED_OSCILLATOR(x,zeta,omega_n) :=
  x''+2*zeta*omega_n*x'+omega_n^2*x=0

 FORCED_OSCILLATOR(x,zeta,omega_n,F,m,omega) :=
  x''+2*zeta*omega_n*x'+omega_n^2*x=(F/m)*cos(omega*t)

 NATURAL_FREQUENCY(k,m) :=
  omega_n=sqrt(k/m)

 DAMPING_RATIO(c,m,k) :=
  zeta=c/(2*sqrt(k*m))

 DAMPED_FREQUENCY(omega_n,zeta) :=
  omega_d=omega_n*sqrt(1-zeta^2)

 PERIOD(omega) :=
  T=2*pi/omega

 QUALITY_FACTOR(zeta) :=
  Q approximately 1/(2*zeta)
  for lightly_damped_systems

 LINEAR_FORCED_AMPLITUDE(F0,m,omega_n,zeta,omega) :=
  A=(F0/m)/sqrt((omega_n^2-omega^2)^2+(2*zeta*omega_n*omega)^2)

 PHASE_LAG(omega_n,zeta,omega) :=
  phi=atan2(2*zeta*omega_n*omega,omega_n^2-omega^2)

 BEAT_FREQUENCY(f1,f2) :=
  f_b=abs(f1-f2)

 PHASE_DIFFERENCE(theta1,theta2) :=
  Delta_theta=theta1-theta2
}

DEFINITIONS {
 D1 = "Periodic oscillation repeats after a finite period."
 D2 = "Natural frequency is the frequency associated with free oscillation of a linearised system."
 D3 = "Damping removes energy and alters transient response."
 D4 = "Forced oscillation is driven by an external input."
 D5 = "Resonance occurs when forcing aligns strongly with a natural mode."
 D6 = "Nonlinear oscillators can exhibit amplitude-dependent frequency."
 D7 = "Limit cycles are isolated periodic orbits."
 D8 = "Relaxation oscillations arise from slow-fast dynamics."
 D9 = "Synchronisation coordinates oscillators through coupling."
 D10 = "Entrainment coordinates an oscillator with external periodic forcing."
}

AXIOMS {
 A1_TEMPORAL_RECURRENCE:
  Oscillation requires recurrent or approximately recurrent temporal variation

 A2_PHASE_FREQUENCY:
  Coherent oscillation admits meaningful phase and frequency descriptions on an appropriate timescale

 A3_DAMPING:
  Dissipative effects alter amplitude and transient decay

 A4_FORCING:
  External periodic forcing can modify amplitude phase and frequency response

 A5_RESONANCE:
  Resonance depends on interaction between forcing and natural system timescales

 A6_NONLINEARITY:
  Nonlinear oscillators can possess amplitude-dependent frequencies multiple solutions and limit cycles

 A7_PERIODIC_ORBIT:
  Sustained autonomous oscillation may correspond to a periodic orbit in phase space

 A8_STABILITY:
  Periodic oscillations require stability analysis distinct from equilibrium stability
}

REASONING {

 R1_OSCILLATION_CONTEXT {
  INPUT = dynamical_model_or_time_series
  IDENTIFY = periodic_or_quasiperiodic structure
  IDENTIFY = amplitude_frequency_phase
  IDENTIFY = damping_forcing_and_nonlinearity
  RETURN = oscillation_context
 }

 R2_LINEAR_CLASSIFICATION {
  INPUT = linear_second_order_model
  COMPUTE = natural_frequency_and_damping ratio
  CLASSIFY = underdamped_critical_or_overdamped
  RETURN = linear_oscillator_profile
 }

 R3_FREE_RESPONSE {
  INPUT = initial_conditions_and_linear_model
  SOLVE = homogeneous_response
  RETURN = transient_oscillation
 }

 R4_FORCED_RESPONSE {
  INPUT = periodic_forcing
  COMPUTE = steady_state_amplitude_and_phase
  IDENTIFY = resonance_and_detuning
  RETURN = forced_response_profile
 }

 R5_NONLINEAR_OSCILLATION {
  INPUT = nonlinear_system
  IDENTIFY = equilibria_limit cycles_and_amplitude dependence
  SELECT = phasePlane_harmonicBalance_averaging_multipleScales_or_numerical pathway
  RETURN = nonlinear_oscillation_profile
 }

 R6_LIMIT_CYCLE_REASONING {
  INPUT = autonomous_nonlinear_system
  DETECT = isolated_periodic_orbit
  ANALYSE = Floquet_multipliers_or_Poincare map
  RETURN = limit_cycle_stability
 }

 R7_RELAXATION_REASONING {
  INPUT = slow_fast_system
  IDENTIFY = slow_manifolds_fast_jumps_and_period
  RETURN = relaxation_oscillation_structure
 }

 R8_SYNCHRONISATION_REASONING {
  INPUT = coupled_oscillators
  COMPUTE = phase_difference_and_frequency locking
  RETURN = synchronisation_profile
 }

 R9_ENTRAINMENT_REASONING {
  INPUT = oscillator_and_external_periodic_forcing
  VARY = forcing_frequency_and_amplitude
  IDENTIFY = locking_regions
  RETURN = entrainment_profile
 }

 R10_VALIDATION {
  INPUT = oscillation_claim
  CHECK = transients_periodicity_frequency_resolution_damping_forcing_nonlinearity_and_numerical sensitivity
  RETURN = validated_oscillation_status
 }
}

CONSTRAINTS {
 C1 = "A transient overshoot is not necessarily a sustained oscillation."
 C2 = "Natural frequency and observed forced frequency must not be conflated."
 C3 = "Critical and overdamped linear systems do not exhibit decaying sinusoidal oscillation."
 C4 = "Resonance depends on damping and response quantity."
 C5 = "Nonlinear resonance can include multiple branches and jump phenomena."
 C6 = "Phase is meaningful only relative to a declared reference."
 C7 = "Limit-cycle claims require isolated recurrent phase-space structure."
 C8 = "Synchronisation and mere frequency similarity must not be conflated."
 C9 = "Finite time series limit precision of period and frequency estimates."
 C10 = "Numerical time step can distort oscillation frequency and damping."
}

SEMANTIC_EQUIVALENCE {
 "Oscillation" <=> "OscillatoryDynamics"
 "HarmonicOscillator" <=> "SimpleLinearOscillator"
 "ForcedOscillator" <=> "DrivenOscillator"
 "RelaxationOscillator" <=> "SlowFastOscillator"
 "Synchronisation" <=> "DynamicalSynchronization"
 "Entrainment" <=> "ExternalFrequencyLocking"
}

VALIDATION {
 V1 = "Oscillatory variable and reference state are explicit."
 V2 = "Period or frequency estimation method is explicit."
 V3 = "Transient and steady-state behaviour are distinguished."
 V4 = "Damping regime is correctly classified."
 V5 = "Forcing frequency and amplitude are explicit where relevant."
 V6 = "Resonance claims include response and damping context."
 V7 = "Nonlinear approximation assumptions are documented."
 V8 = "Limit-cycle stability is checked where relevant."
 V9 = "Synchronisation includes phase or frequency-locking evidence."
 V10 = "Numerical results are checked for time-step sensitivity."
}

CONFIDENCE {
 BASE_CONFIDENCE = 0.99
 OSCILLATION_DEFINITION = 0.99
 LINEAR_OSCILLATION_REASONING = 0.99
 FORCED_RESPONSE_REASONING = 0.99
 RESONANCE_REASONING = 0.98
 NONLINEAR_OSCILLATION_REASONING = 0.98
 LIMIT_CYCLE_REASONING = 0.98
 RELAXATION_REASONING = 0.97
 SYNCHRONISATION_REASONING = 0.97
 VALIDATION_REASONING = 0.99

 POLICY =
  "Reduce confidence when damping, forcing, natural frequency, nonlinear structure, period estimation, coupling, locking criteria or numerical resolution are underspecified."
}

AI_CONSUMPTION {
 PURPOSES = [
  SemanticSearch,
  OntologyGrounding,
  OscillationReasoning,
  HarmonicOscillatorReasoning,
  DampedOscillationReasoning,
  ForcedOscillationReasoning,
  ResonanceReasoning,
  NonlinearOscillationReasoning,
  LimitCycleReasoning,
  RelaxationOscillationReasoning,
  SynchronisationReasoning,
  EntrainmentReasoning,
  FloquetReasoning,
  AveragingReasoning,
  MultipleScalesReasoning,
  HarmonicBalanceReasoning,
  KnowledgeGraphConstruction,
  RetrievalAugmentation,
  RecursiveInference
 ]

 NORMALISE {
  "oscillation" -> Oscillation
  "harmonic oscillator" -> HarmonicOscillator
  "damped oscillator" -> DampedOscillator
  "forced oscillator" -> ForcedOscillator
  "driven oscillator" -> ForcedOscillator
  "resonance" -> Resonance
  "limit cycle" -> LimitCycle
  "relaxation oscillator" -> RelaxationOscillator
  "synchronisation" -> Synchronisation
  "entrainment" -> Entrainment
 }

 INTERPRETATION_ORDER = [
  detect_oscillation_context,
  identify periodicity_frequency_amplitude_phase_damping_forcing_and_nonlinearity,
  classify free_forced_linear_nonlinear_coupled_or_parametric oscillation,
  compute natural frequencies_damping_and_response,
  analyse resonance_limit cycles_or_relaxation structure,
  analyse synchronisation_or_entrainment when coupled_or_forced,
  apply averaging_multipleScales_harmonicBalance_Floquet_or_numerical methods where relevant,
  validate periodicity_stability_and_numerical accuracy,
  return semantic output
 ]
}

EXECUTION_RULES {
 E1:
  IF query_mentions("oscillation")
  OR recurrent_dynamical_variation_is_present
  THEN activate(OscillationOntology)

 E2:
  IF linear_second_order_system
  THEN compute natural_frequency_and_damping ratio

 E3:
  IF periodic_external_forcing
  THEN analyse steady_state_amplitude_phase_and_resonance

 E4:
  IF autonomous_sustained_periodic_motion
  THEN consider limit_cycle reasoning

 E5:
  IF nonlinear_weakly_forced_or_weakly_nonlinear
  THEN consider averaging_multipleScales_or_harmonicBalance

 E6:
  IF separated_timescales_and_slow_fast behaviour
  THEN consider relaxation_oscillation reasoning

 E7:
  IF coupled_oscillators
  THEN analyse synchronisation_and_phase locking

 E8:
  IF external_periodic_drive_locks oscillator
  THEN classify entrainment

 E9:
  IF periodic_orbit_stability_required
  THEN apply Floquet_or_Poincare analysis
}

RECURSION {
 ENTRY = Oscillation

 EXPAND(Oscillation) -> [
  Oscillator,
  PeriodicMotion,
  QuasiperiodicMotion,
  SimpleHarmonicMotion,
  HarmonicOscillator,
  DampedOscillator,
  ForcedOscillator,
  NonlinearOscillator,
  SelfExcitedOscillator,
  ParametricOscillator,
  CoupledOscillator,
  LimitCycleOscillator,
  RelaxationOscillator,
  NaturalFrequency,
  AngularFrequency,
  Period,
  Amplitude,
  Phase,
  Damping,
  DampingRatio,
  Resonance,
  ParametricResonance,
  Detuning,
  Beats,
  QualityFactor,
  TransientResponse,
  SteadyStateResponse,
  LimitCycle,
  Synchronisation,
  Entrainment,
  PhaseLocking,
  FrequencyLocking,
  FloquetTheory,
  AveragingMethod,
  MultipleScalesMethod,
  HarmonicBalance,
  VanDerPolOscillator,
  DuffingOscillator,
  MathieuEquation
 ]

 EXPAND(LinearOscillation) -> [
  HarmonicOscillator,
  DampedOscillator,
  ForcedOscillator,
  NaturalFrequency,
  DampingRatio,
  Resonance
 ]

 EXPAND(NonlinearOscillation) -> [
  LimitCycle,
  RelaxationOscillator,
  VanDerPolOscillator,
  DuffingOscillator,
  NonlinearResonance,
  HarmonicBalance,
  AveragingMethod,
  MultipleScalesMethod
 ]

 STOP_CONDITION =
  "Stop when oscillation type, frequency, amplitude, phase, damping, forcing, resonance, periodic-orbit stability, coupling and numerical validity are sufficiently resolved."
}

ROUTING {
 PARENT_ONTOLOGY = "Dynamical Systems"

 IMMEDIATE_CONTEXTS = [
  "Dynamical Systems Ontology",
  "Nonlinear Dynamics Ontology",
  "Stability Ontology",
  "Bifurcation Ontology"
 ]

 RELATED_ONTOLOGIES = [
  "Dynamical Systems Ontology",
  "Nonlinear Dynamics Ontology",
  "Stability Ontology",
  "Bifurcation Ontology",
  "Chaos Theory Ontology",
  "Phase Space Ontology",
  "Ordinary Differential Equation Ontology",
  "Control Theory Ontologies",
  "Signal Processing Ontology",
  "Fourier Analysis Ontology",
  "Perturbation Method Ontologies",
  "Numerical Analysis Ontologies"
 ]

 ROUTE_RULES = [
  "Oscillation -> Dynamical Systems Ontology for recurrent state-evolution semantics",
  "Oscillation -> Nonlinear Dynamics for amplitude-dependent and self-excited behaviour",
  "Oscillation -> Stability for transient decay and periodic-orbit stability",
  "Oscillation -> Bifurcation for Hopf and period-doubling transitions",
  "Oscillation -> Chaos Theory for oscillatory routes to chaos",
  "Oscillation -> Phase Space for closed orbits and phase portraits",
  "Oscillation -> ODE Ontology for governing equations",
  "Oscillation -> Control Theory for resonance suppression and closed-loop oscillation",
  "Oscillation -> Signal Processing and Fourier Analysis for spectral interpretation",
  "Oscillation -> Numerical Analysis for simulation and continuation"
 ]
}

UPDATE_MODEL {
 MODE = "append-compatible semantic versioning"

 MAJOR = "ontology-breaking conceptual change"
 MINOR = "new compatible oscillator classes, resonance phenomena or reasoning pathways"
 PATCH = "clarification, metadata or formatting correction"

 RULES = [
  "Preserve recurrent-dynamics semantics.",
  "Preserve free-versus-forced distinction.",
  "Preserve natural-versus-forcing frequency distinction.",
  "Preserve transient-versus-steady-state distinction.",
  "Preserve linear-versus-nonlinear oscillation distinction.",
  "Preserve limit-cycle semantics.",
  "Preserve synchronisation-versus-entrainment distinction.",
  "Preserve machine-readable oscillation semantics."
 ]
}

OUTPUT {
 CANONICAL_DEFINITION =
  "Oscillation is repeated or approximately repeated dynamical variation around an equilibrium, reference state or mean."

 LINEAR_SUMMARY =
  "Linear oscillators are characterised by natural frequency, damping and forced-response properties."

 RESONANCE_SUMMARY =
  "Resonance is a strong response caused by interaction between forcing and natural system timescales."

 NONLINEAR_SUMMARY =
  "Nonlinear oscillators can exhibit amplitude-dependent frequency, multistability, jumps and self-sustained limit cycles."

 LIMIT_CYCLE_SUMMARY =
  "A limit cycle is an isolated periodic orbit that can be attracting, repelling or neutrally stable."

 SYNCHRONISATION_SUMMARY =
  "Coupled oscillators can lock phase or frequency through synchronisation."

 ENTRAINMENT_SUMMARY =
  "External periodic forcing can entrain an oscillator into a locked response."

 VALIDATION_SUMMARY =
  "Oscillation analysis should distinguish transient, steady-state, periodic, quasiperiodic and chaotic behaviour."
}

FLOW {
 INPUT
 -> detect_oscillation_context
 -> identify oscillatory_state_variables_reference_state_period_frequency_amplitude_phase_damping_forcing_and_nonlinearity
 -> classify free_forced_linear_nonlinear_selfExcited_parametric_coupled_or_relaxation oscillation
 -> compute natural_frequency_damping_ratio_transient_and_steadyState response where applicable
 -> analyse resonance_detuning_beats_and_quality factor
 -> if_nonlinear identify limit_cycles_amplitude dependence_and_multistability
 -> if_slowFast identify relaxation structure
 -> if_coupled analyse synchronisation_phase locking_and_entrainment
 -> if_periodic_orbit stability_required apply Floquet_or_Poincare analysis
 -> route to dynamical_systems nonlinear_dynamics stability bifurcation chaos phase_space ODE control signal_processing Fourier perturbation_methods_or_numerical_analysis ontology
 -> recursively_expand_required_dependencies
 -> verify_result
 -> assign_confidence
 -> produce_semantic_output
 -> END
}

SEMANTIC_SUMMARY {
 "The Oscillation Ontology defines recurrent dynamical variation. It supports harmonic, damped, forced, nonlinear, self-excited, parametric, coupled, limit-cycle and relaxation oscillators; natural frequency, period, amplitude, phase, damping, resonance, detuning, beats, quality factor, transient and steady-state response, limit cycles, synchronisation, entrainment, phase and frequency locking, Floquet analysis, averaging, multiple scales, harmonic balance and canonical models including Van der Pol, Duffing and Mathieu systems."
}

FLOW_HASH {
 METHOD = "semantic-content-identity"
 ID = "KIRETH-MATH-APPLIED-MATHEMATICS-DYNAMICAL-SYSTEMS-OSCILLATION-ONTOLOGY-V1"
}

}

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