-
Notifications
You must be signed in to change notification settings - Fork 73
/
engineering.kif
1710 lines (1410 loc) · 62.9 KB
/
engineering.kif
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
;; ================================================
;; Engineering ontology
;; ================================================
;;
;; (c) 2002 Michal Sevcenko <[email protected]>
;; Access to and use of these products is governed by the GNU General Public
;; License <http://www.gnu.org/copyleft/gpl.html>.
;; By using these products, you agree to be bound by the terms
;; of the GPL.
;; This is the source file for the engineering ontology, developed
;; within the KSMSA project (see http://virtual.cvut.cz/ksmsa/).
;; The ontology is built on top of SUMO ontology
;; (see http://www.ontologyportal.org).
;;
;; The KSMSA project is partly supported by the Czech Department of
;; Education grant no. FRV 2162/2002
;;
;; Version 1.0, 16 December 2002
;; Version 1.1 31 October 2005
;; revised periodically thereafter
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; MODULE Engineering-ontology ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;
;; TECHNICAL TERMS ;;
;;;;;;;;;;;;;;;;;;;;;;;;
;;MSv: Moved AttrFn to MILO, since this function can be useful also in other domains, not only engineering.
;;;;;;;;;;;;;;;;;
;; LEXICON ;;
;;;;;;;;;;;;;;;;;
(documentation lexicon EnglishLanguage "associates a SUMO concept with a lexicon word")
(instance lexicon TernaryPredicate)
(domain lexicon 1 SetOrClass)
(domain lexicon 2 LexiconCategory)
(domain lexicon 3 SymbolicString)
(documentation LexiconCategory EnglishLanguage "WordNet category: noun, verb, adjective or adverb")
(subclass LexiconCategory InternalAttribute)
(documentation LexNoun EnglishLanguage "noun")
(instance LexNoun LexiconCategory)
(documentation LexVerb EnglishLanguage "verb")
(instance LexVerb LexiconCategory)
(documentation LexAdjective EnglishLanguage "adjective")
(instance LexAdjective LexiconCategory)
(documentation LexAdverb EnglishLanguage "adverb")
(instance LexAdverb LexiconCategory)
;;;;;;;;;;;;;;;;;;;;;;;;
;; COMMON NOTIONS ;;
;;;;;;;;;;;;;;;;;;;;;;;;
(documentation models EnglishLanguage "A relation signaling that certain model is
convenient for modeling of certain class of devices.")
(instance models BinaryPredicate)
(instance models AsymmetricRelation)
(domain models 1 Model)
(domainSubclass models 2 EngineeringComponent)
(format EnglishLanguage models "%1 can be used as a model for %2")
(documentation Model EnglishLanguage "An abstract object that models certain aspect of a
physical object, is subject to abstraction and idealization.")
(subclass Model Proposition)
(documentation PhysicalDimension EnglishLanguage "A physical dimension such as
length, mass, force etc.")
(lexicon PhysicalDimension LexNoun "physical dimension")
(subclass PhysicalDimension Quantity)
(documentation Length EnglishLanguage "&%PhysicalDimension of length, [m].")
(instance Length PhysicalDimension)
(documentation Velocity EnglishLanguage "&%PhysicalDimension of velocity, [m/s].")
(instance Velocity PhysicalDimension)
(documentation Force EnglishLanguage "&%PhysicalDimension of force, [N].")
(instance Force PhysicalDimension)
(documentation AngularVelocity EnglishLanguage "&%PhysicalDimension of angular velocity, [s^-1].")
(instance AngularVelocity PhysicalDimension)
(documentation Torque EnglishLanguage "&%PhysicalDimension of torque, [N/m].")
(instance Torque PhysicalDimension)
(documentation Voltage EnglishLanguage "&%PhysicalDimension of voltage, [V].")
(instance Voltage PhysicalDimension)
(documentation Current EnglishLanguage "&%PhysicalDimension of electrical current, [A].")
(instance Current PhysicalDimension)
(documentation Pressure EnglishLanguage "&%PhysicalDimension of pressure, [Pa],[N.m^-2].")
(instance Pressure PhysicalDimension)
(documentation VolumeFlow EnglishLanguage "&%PhysicalDimension of volume flow, [m^-3].")
(instance VolumeFlow PhysicalDimension)
(documentation Power EnglishLanguage "&%PhysicalDimension of power, [W].")
(instance Power PhysicalDimension)
(documentation Dimensionless EnglishLanguage "Dimensionless &%PhysicalDimension.")
(lexicon Dimensionless LexAdjective "dimensionless {physical dimension}")
(instance Dimensionless PhysicalDimension)
(documentation Modeling EnglishLanguage "A creative process of creating a model.")
(lexicon Modeling LexNoun "modeling")
(lexicon Modeling LexNoun "modelling")
(lexicon Modeling LexVerb "model")
(subclass Modeling IntentionalProcess)
(=>
(instance ?MODELING Modeling)
(exists (?MODEL)
(and (instance ?MODEL Model)
(result ?MODELING ?MODEL))))
;; KJN: Moving this to MILO as it is very general
;;(documentation abstractPart EnglishLanguage "A meronymy relation similar to &%part, but
;;for abstract rather than physical things.")
;;(termFormat EnglishLanguage abstractPart "part")
;;(instance abstractPart PartialOrderingRelation)
;;(domain abstractPart 1 Abstract)
;;(domain abstractPart 2 Abstract)
;;(format EnglishLanguage abstractPart "%1 is %n a &%part of %2")
;;;;;;;;;;;;;;;;;;;;;;;
;; MATH ;;
;;;;;;;;;;;;;;;;;;;;;;;
(lexicon AbsoluteValueFn LexNoun "abs")
(lexicon AbsoluteValueFn LexNoun "absolute value")
(lexicon SineFn LexNoun "sinus")
(lexicon SineFn LexNoun "sin")
(lexicon CosineFn LexNoun "cosinus")
(lexicon CosineFn LexNoun "cos")
;;;;;;;;;;;;;;;;;;;;;;;
;; EQUATIONS ;;
;;;;;;;;;;;;;;;;;;;;;;;
(documentation Equation EnglishLanguage "a mathematical statement that two expressions are
equal.")
(lexicon Equation LexNoun "equation")
(subclass Equation Proposition)
(documentation DifferentialEquation EnglishLanguage "An &%Equation containing differentials
of a function ")
(subclass DifferentialEquation Equation)
(<=>
(instance ?X DifferentialEquation)
(instance ?X (AttrFn Equation DifferentialAttribute)))
(documentation LinearEquation EnglishLanguage "A polynomial &%Equation of the first degree.")
(subclass LinearEquation Equation)
(documentation NonlinearEquation EnglishLanguage "An &%Equation that is not
a &%LinearEquation.")
(subclass NonlinearEquation Equation)
(documentation AlgebraicEquation EnglishLanguage "An &%Equation that is not
a &%DifferentialEquation")
(subclass AlgebraicEquation Equation)
(documentation FirstOrderDifferentialEquation EnglishLanguage "A &%DifferentialEquation
where variables are differentiated only once.")
(lexicon FirstOrderDifferentialEquation LexNoun "first-order differential equation")
(subclass FirstOrderDifferentialEquation DifferentialEquation)
(documentation HigherOrderDifferentialEquation EnglishLanguage "A &%DifferentialEquation
where variables are differentiated more than once.")
(lexicon HigherOrderDifferentialEquation LexNoun "higher-order differential equation")
(subclass HigherOrderDifferentialEquation DifferentialEquation)
(disjointDecomposition DifferentialEquation FirstOrderDifferentialEquation HigherOrderDifferentialEquation)
(documentation PartialDifferentialEquation EnglishLanguage "A &%DifferentialEquation
involving a functions of more than one variable.")
(subclass PartialDifferentialEquation DifferentialEquation)
(documentation OrdinaryDifferentialEquation EnglishLanguage "A &%DifferentialEquation
that is not a &%PartialDifferentialEquation.")
(subclass OrdinaryDifferentialEquation DifferentialEquation)
(disjointDecomposition DifferentialEquation OrdinaryDifferentialEquation PartialDifferentialEquation)
(documentation BesselsEquation EnglishLanguage "Bessel's equation")
(lexicon BesselsEquation LexNoun "Bessel's equation")
(subclass BesselsEquation OrdinaryDifferentialEquation)
(subclass BesselsEquation NonlinearEquation)
(documentation VanderpolsEquation EnglishLanguage "Bessel's equation")
(lexicon VanderpolsEquation LexNoun "{Van der Pol's} equation")
(subclass VanderpolsEquation OrdinaryDifferentialEquation)
(subclass VanderpolsEquation NonlinearEquation)
(documentation SetOfEquations EnglishLanguage "A &%Set of equations")
(lexicon SetOfEquations LexNoun "set of equations")
(lexicon SetOfEquations LexNoun "equations")
(subclass SetOfEquations Set)
(documentation EquationAttribute EnglishLanguage "an attribute that applies to an equation
or to a set of equations")
(subclass EquationAttribute InternalAttribute)
(=>
(and
(property ?OBJECT ?ATTRIBUTE)
(instance ?ATTRIBUTE EquationAttribute))
(or
(instance ?OBJECT Equation)
(instance ?OBJECT SetOfEquations)))
(documentation DifferentialAttribute EnglishLanguage "differential equation or set of equations")
(lexicon DifferentialAttribute LexAdjective "differential")
(instance DifferentialAttribute EquationAttribute)
(documentation AlgebraicAttribute EnglishLanguage "algebraic equation or set of equations")
(lexicon AlgebraicAttribute LexAdjective "algebraic")
(instance AlgebraicAttribute EquationAttribute)
(documentation AlgebroDifferentialAttribute EnglishLanguage "Set of both differential and algebraic equations")
(lexicon AlgebroDifferentialAttribute LexAdjective "algebro-differential")
(subclass AlgebroDifferentialAttribute InternalAttribute)
(=>
(and
(property ?OBJECT ?ATTRIBUTE)
(instance ?ATTRIBUTE AlgebroDifferentialAttribute))
(instance ?OBJECT SetOfEquations))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; MATHEMATICAL MODELS ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(documentation MathematicalModel EnglishLanguage "A model that uses the mathematical
aparatus")
(subclass MathematicalModel Model)
(documentation MathematicalPendulum EnglishLanguage "A model of a &%Pendulum consisting
of a mass hanged on a stiff string.")
(subclass MathematicalPendulum MathematicalModel)
;;;;;;;;;;;;;;;;;;;;;;;;
;; MULTIPOLES ;;
;;;;;;;;;;;;;;;;;;;;;;;;
(documentation PhysicalDomain EnglishLanguage "An attribute of a multipole pole describing
the kind of physical interaction the pole models.")
(lexicon PhysicalDomain LexNoun "{physical domain}")
(subclass PhysicalDomain InternalAttribute)
(documentation Electrical EnglishLanguage "Electrical energetic interaction")
(lexicon Electrical LexNoun "electrical {physical domain}")
(instance Electrical PhysicalDomain)
(documentation Translatory EnglishLanguage "Mechanic translatory energetic interaction")
(lexicon Translatory LexNoun "translatory {physical domain}")
(instance Translatory PhysicalDomain)
(documentation Rotary EnglishLanguage "Mechanic rotary energetic interaction")
(lexicon Rotary LexNoun "rotary {physical domain}")
(instance Rotary PhysicalDomain)
(documentation FluidPower EnglishLanguage "Fluid power energetic interaction")
(lexicon FluidPower LexNoun "{fluid power} {physical domain}")
(instance FluidPower PhysicalDomain)
(documentation physicalDomain EnglishLanguage "Relation that holds for pairs of physical
dimensions that multiply up into a physical dimension of Power.
The first is considered for across variable, the second for through
variable.")
(instance physicalDomain TernaryPredicate)
(format EnglishLanguage physicalDomain "%1 and %2 form physical domain %3")
(domain physicalDomain 1 PhysicalDimension)
(domain physicalDomain 2 PhysicalDimension)
(domain physicalDomain 3 PhysicalDomain)
(physicalDomain Velocity Force Translatory)
(physicalDomain AngularVelocity Torque Rotary)
(physicalDomain Voltage Current Electrical)
(physicalDomain Pressure VolumeFlow FluidPower)
(documentation MultipoleVariable EnglishLanguage "a variable that describes energetical
interactions between multipoles.")
(subclass MultipoleVariable Number)
(documentation MultipoleQuantity EnglishLanguage "a multipole variable that have physical
dimension and meaning.")
(subclass MultipoleQuantity Quantity)
(documentation hasDimension EnglishLanguage "multipole quantity has certain dimension")
(instance hasDimension SingleValuedRelation)
(instance hasDimension BinaryPredicate)
(format EnglishLanguage hasDimension "%1 has %n dimension %2")
(domain hasDimension 1 MultipoleQuantity)
(domain hasDimension 2 PhysicalDimension)
(documentation hasVariable EnglishLanguage "multipole quantity has certain variable")
(instance hasVariable SingleValuedRelation)
(instance hasVariable BinaryPredicate)
(format EnglishLanguage hasVariable "%1 has %n variable %2")
(domain hasVariable 1 MultipoleQuantity)
(domain hasVariable 2 MultipoleVariable)
(documentation Multipole EnglishLanguage "Basic element of a multipole diagram, a
multipole is a model of a component of a dynamic system, it can model a
real separable component, such as a motor of a vehicle, or just an
attribute of the system, such as inertia or friction, multipole interacts
with other multipoles through its poles.")
(lexicon Multipole LexNoun "multipole")
(subclass Multipole Model)
(documentation MultipoleAttribute EnglishLanguage "a set of tags that can be associated
with multipoles")
(subclass MultipoleAttribute InternalAttribute)
(documentation IndependentMultipole EnglishLanguage "Asserts that a constitutive relation
of a multipole does not refer to other variables than terminal or
inner.")
(instance IndependentMultipole MultipoleAttribute)
;;;;;;;;
(documentation DynamicMultipole EnglishLanguage "Asserts that the constitutive relation of
a multipole does depend on time.")
(instance DynamicMultipole MultipoleAttribute)
;;;;;;;;
(documentation LinearMultipole EnglishLanguage "Asserts that the constitutive relation of
a multipole is linear.")
(instance LinearMultipole MultipoleAttribute)
(documentation MultipoleModel EnglishLanguage "Model of a physical system consisting of
mutually interconnected multipoles.")
(lexicon MultipoleModel LexNoun "multipole model")
(subclass MultipoleModel Model)
(documentation ElectricalMultipoleModel EnglishLanguage "A &%MultipoleModel containing only
electrical multipoles.")
(lexicon ElectricalMultipoleModel LexNoun "electrical circuit")
(subclass ElectricalMultipoleModel MultipoleModel)
(documentation NonlinearCircuit EnglishLanguage "An &%ElectricalMultipoleModel containing
nonlinear multipoles.")
(subclass NonlinearCircuit ElectricalMultipoleModel)
(documentation RLCircuit EnglishLanguage "An &%ElectricalMultipoleModel containing
a &%ResistorElement and an &%InductorElement.")
(lexicon RLCircuit LexNoun "RL circuit")
(subclass RLCircuit ElectricalMultipoleModel)
(documentation RLCCircuit EnglishLanguage "An &%ElectricalMultipoleModel containing
a &%ResistorElement, an &%InductorElement and a &%CapacitorElement.")
(lexicon RLCCircuit LexNoun "RLC circuit")
(subclass RLCCircuit ElectricalMultipoleModel)
(documentation RCCircuit EnglishLanguage "An &%ElectricalMultipoleModel containing
a &%ResistorElement and a &%CapacitorElement.")
(lexicon RCCircuit LexNoun "RC circuit")
(subclass RCCircuit ElectricalMultipoleModel)
(documentation MultipoleModeling EnglishLanguage "modeling of a dynamic system by means of
its representation by a multipole diagram.")
(lexicon MultipoleModeling LexNoun "multipole modeling")
(lexicon MultipoleModeling LexNoun "multipole modelling")
(subclass MultipoleModeling Modeling)
(=>
(instance ?MODELING MultipoleModeling)
(exists (?MODEL)
(and (instance ?MODEL MultipoleModel)
(result ?MODELING ?MODEL))))
(documentation MultipoleDiagram EnglishLanguage "Graphical representation of a
&%MultipoleModel.")
(lexicon MultipoleDiagram LexNoun "multipole diagram")
(subclass MultipoleDiagram ContentBearingObject)
(documentation MultipolePole EnglishLanguage "A part of multipole pole that models
a single energetical interaction. If a pole belongs to a multipole, it also belongs to
one of its sections.")
(lexicon MultipolePole LexNoun "multipole pole")
(lexicon MultipolePole LexNoun "pole")
(lexicon MultipolePole LexNoun "{pole of} multipole")
(subclass MultipolePole Model)
(=>
(and
(instance ?POLE MultipolePole)
(abstractPart ?POLE ?MULTIPOLE))
(exists (?SECTION)
(and
(instance ?SECTION MultipoleSection)
(abstractPart ?POLE ?SECTION)
(abstractPart ?SECTION ?MULTIPOLE))))
(documentation hasAcrossVariable EnglishLanguage "multipole pole has across variable")
(instance hasAcrossVariable BinaryPredicate)
(instance hasAcrossVariable AsymmetricRelation)
(format EnglishLanguage hasAcrossVariable "%1 has %n %2 as an across variable")
(domain hasAcrossVariable 1 MultipolePole)
(domain hasAcrossVariable 2 MultipoleVariable)
(documentation hasThroughVariable EnglishLanguage "multipole pole has through variable")
(instance hasThroughVariable BinaryPredicate)
(instance hasThroughVariable AsymmetricRelation)
(format EnglishLanguage hasThroughVariable "%1 has %n %2 as a through variable")
(domain hasThroughVariable 1 MultipolePole)
(domain hasThroughVariable 2 MultipoleVariable)
(=>
(and
(hasAcrossVariable ?POLE ?ACROSS)
(hasThroughVariable ?POLE ?THROUGH)
(hasVariable ?QACROSS ?ACROSS)
(hasVariable ?QTHROUGH ?THROUGH)
(hasDimension ?QACROSS ?DACROSS)
(hasDimension ?QTHROUGH ?DTHROUGH))
(exists (?DOMAIN)
(physicalDomain ?DACROSS ?DTHROUGH ?DOMAIN)))
(documentation MultipoleSection EnglishLanguage "A set of poles that is subject to
the postulate of continuity. A multipole may consist of one or
more sections. Sections of a single multipole do not overlap
and cover all its poles.")
(lexicon MultipoleSection LexNoun "multipole section")
(lexicon MultipoleSection LexNoun "section")
(lexicon MultipoleSection LexNoun "{section of} multipole")
(subclass MultipoleSection Model)
;; Each multipole must have at least one section.
(=>
(instance ?MULTIPOLE Multipole)
(exists (?SECTION)
(and
(instance ?SECTION MultipoleSection)
(abstractPart ?SECTION ?MULTIPOLE))))
;; Each section must have at least two distinct poles.
(=>
(instance ?SECTION MultipoleSection)
(exists (?POLE1 ?POLE2)
(and
(instance ?POLE1 MultipolePole)
(instance ?POLE2 MultipolePole)
(abstractPart ?POLE1 ?SECTION)
(abstractPart ?POLE2 ?SECTION)
(not (equal ?POLE1 ?POLE2)))))
(documentation MultipolePort EnglishLanguage "&%MultipoleSection that contains exactly two
poles.")
(subclass MultipolePort MultipoleSection)
(lexicon MultipolePort LexNoun "multipole port")
(lexicon MultipolePort LexNoun "port")
(lexicon MultipolePort LexNoun "{port of} multipole")
;; Ports do not have three distinct poles.
(=>
(instance ?PORT MultipolePort)
(not (exists (?POLE1 ?POLE2 ?POLE3)
(and
(instance ?POLE1 MultipolePole)
(instance ?POLE2 MultipolePole)
(instance ?POLE3 MultipolePole)
(abstractPart ?POLE1 ?PORT)
(abstractPart ?POLE2 ?PORT)
(abstractPart ?POLE3 ?PORT)
(not (equal ?POLE1 ?POLE2))
(not (equal ?POLE2 ?POLE3))
(not (equal ?POLE1 ?POLE3))))))
(documentation Twopole EnglishLanguage "A &%Multipole with exactly two poles.")
(lexicon Twopole LexNoun "twopole")
(lexicon Twopole LexNoun "oneport")
(subclass Twopole Multipole)
;; Twopole has exactly one port.
(=>
(instance ?TWOPOLE Twopole)
(exists (?PORT)
(and
(instance ?PORT MultipolePort)
(abstractPart ?PORT ?TWOPOLE)
(not
(exists (?SECTION)
(and
(instance ?SECTION MultipoleSection)
(abstractPart ?SECTION ?TWOPOLE)
(not
(equal ?SECTION ?PORT))))))))
(documentation PureTwopole EnglishLanguage "A &%Twopole that models single physical
phenomenon, its constitutive relation has special structure.")
(lexicon PureTwopole LexNoun "pure twopole")
(lexicon PureTwopole LexNoun "physical element")
(subclass PureTwopole Twopole)
(documentation IdealSwitch EnglishLanguage "A &%PureTwopole that models an ideal switch.")
(subclass IdealSwitch PureTwopole)
(documentation IdealTwopole EnglishLanguage "A &%PureTwopole that is linear.")
(lexicon IdealTwopole LexNoun "ideal twopole")
(lexicon IdealTwopole LexNoun "ideal {physical element}")
(subclass IdealTwopole PureTwopole)
(documentation Dissipator EnglishLanguage "A &%PureTwopole that models a dissipation of energy.")
(subclass Dissipator PureTwopole)
(documentation AcrossVariableAccumulator EnglishLanguage "A &%PureTwopole that accumulates across variable.")
(lexicon AcrossVariableAccumulator LexNoun "{across variable} accumulator")
(subclass AcrossVariableAccumulator PureTwopole)
(documentation ThroughVariableAccumulator EnglishLanguage "A &%PureTwopole that accumulates through variable.")
(lexicon ThroughVariableAccumulator LexNoun "{through variable} accumulator")
(subclass ThroughVariableAccumulator PureTwopole)
(documentation Source EnglishLanguage "A &%PureTwopole that models a generator of either across or through variable.")
(subclass Source PureTwopole)
(documentation AcrossVariableSource EnglishLanguage "A &%Source that models a generator of across variable.")
(lexicon AcrossVariableSource LexNoun "{across variable} source")
(subclass AcrossVariableSource Source)
(documentation ThroughVariableSource EnglishLanguage "A &%Source that models a generator of through variable.")
(lexicon ThroughVariableSource LexNoun "{through variable} source")
(subclass ThroughVariableSource Source)
(documentation ElectricalTwopole EnglishLanguage "A &%PureTwopole from electrical energy domain.")
(subclass ElectricalTwopole PureTwopole)
(documentation CapacitorElement EnglishLanguage "An &%AcrossVariableAccumulator from electrical energy domain.")
(lexicon CapacitorElement LexNoun "capacitor")
(subclass CapacitorElement ElectricDevice)
(=>
(instance ?M AcrossVariableAccumulator)
(exists (?C)
(and
(instance ?C CapacitorElement)
(represents ?M ?C))))
(=>
(instance ?M ElectricalTwopole)
(exists (?C)
(and
(instance ?C CapacitorElement)
(represents ?M ?C))))
(documentation InductorElement EnglishLanguage "A &%ThroughVariableAccumulator from electrical energy domain.")
(lexicon InductorElement LexNoun "inductor")
(subclass InductorElement ElectricDevice)
(=>
(instance ?M ThroughVariableAccumulator)
(exists (?I)
(and
(instance ?I InductorElement)
(represents ?M ?I))))
(=>
(instance ?M ElectricalTwopole)
(exists (?C)
(and
(instance ?C InductorElement)
(represents ?M ?C))))
(documentation TranslatoryTwopole EnglishLanguage "A &%PureTwopole from translatory energy domain.")
(subclass TranslatoryTwopole PureTwopole)
(documentation DamperElement EnglishLanguage "A &%Dissipator from translatory energy domain.")
(lexicon DamperElement LexNoun "damper")
(subclass DamperElement Dissipator)
(subclass DamperElement TranslatoryTwopole)
(documentation Inertor EnglishLanguage "An &%AcrossVariableAccumulator from translatory energy domain.")
(lexicon Inertor LexNoun "inertor")
(subclass Inertor AcrossVariableAccumulator)
(subclass Inertor TranslatoryTwopole)
(documentation SpringElement EnglishLanguage "A &%ThroughVariableAccumulator from translatory energy domain.")
(lexicon SpringElement LexNoun "spring")
(subclass SpringElement ThroughVariableAccumulator)
(subclass SpringElement TranslatoryTwopole)
(documentation Fourpole EnglishLanguage "A &%Multipole with exactly four poles.")
(subclass Fourpole Multipole)
(documentation Twoport EnglishLanguage "A &%Multipole with exactly two sections.")
(subclass Twoport Fourpole)
(=>
(instance ?M Twoport)
(exists (?T)
(and
(instance ?T Transducer)
(represents ?M ?T))))
(documentation IdealOperationalAmplifier EnglishLanguage "A &%Fourpole modeling an
&%OperationalAmplifier with ideal properties.")
(lexicon IdealOperationalAmplifier LexNoun "ideal operational amplifier")
(lexicon IdealOperationalAmplifier LexNoun "operational amplifier")
(subclass IdealOperationalAmplifier Fourpole)
;; KJN: Moving this to MILO as Engine, which has a lot of definitions within MILO, depends on it
;;(documentation Transducer EnglishLanguage "A &%Device which is capable of converting one
;;form of energy into another. Formally, a &%Twoport that neither stores
;;nor dissipates, but only transfers energy between its two ports.")
;;(lexicon Transducer LexNoun "transducer")
;;(subclass Transducer Device)
;;(=>
;; (instance ?M Twoport)
;; (exists (?T)
;; (and
;; (instance ?T Transducer)
;; (represents ?M ?T))))
(lexicon Transducer LexNoun "transducer")
(documentation Transformer EnglishLanguage "A &%Transducer for which the ratio of
across variables and through variables respectively is equal.")
(lexicon Transformer LexNoun "transformer")
(subclass Transformer Transducer)
(documentation Gyrator EnglishLanguage "A &%Transducer for which the ratio of
across variable on one side and through variable on the
other side is equal to the ratio of the remaining two variables.")
(lexicon Gyrator LexNoun "gyrator")
(subclass Gyrator Transducer)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; NATURAL-PROCESSES ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(documentation MechanicalProcess EnglishLanguage "A &%Process in which mechanical
interactions take place")
(subclass MechanicalProcess NaturalProcess)
(documentation ElectricalProcess EnglishLanguage "A &%Process in which electrical
interactions take place")
(subclass ElectricalProcess NaturalProcess)
(documentation Friction EnglishLanguage "A &%MechanicalProcess in which mechanical
energy is converted into a heat")
(subclass Friction MechanicalProcess)
(documentation Resonance EnglishLanguage "a vibration of large amplitude produced by
a relatively small vibration near the same frequency of vibration
as the natural frequency of the resonating system.")
(subclass Resonance NaturalProcess)
(documentation MechanicalResonance EnglishLanguage "a resonance of mechanical energy.")
(subclass MechanicalResonance Resonance)
(subclass MechanicalResonance MechanicalProcess)
(documentation ElectricalResonance EnglishLanguage "a resonance of electrical energy.")
(subclass ElectricalResonance Resonance)
(subclass ElectricalResonance ElectricalProcess)
(documentation SeriesResonance EnglishLanguage "Resonance taking place in a parallel RLC
circuit, i.e. in a circuit where its elements are connected in-parallel.")
(subclass SeriesResonance ElectricalResonance)
(documentation ParallelResonance EnglishLanguage "Resonance taking place in a series RLC
circuit, i.e. in a circuit where its elements are connected in-series.")
(subclass ParallelResonance ElectricalResonance)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; PHYSICAL-ATTRIBUTES ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(documentation Conductivity EnglishLanguage "the ability of a material to lead current")
(instance Conductivity PhysicalAttribute)
(contraryAttribute Conductivity Resistivity)
(documentation Resistivity EnglishLanguage "A material's opposition to the flow of
electric current.")
(lexicon Resistivity LexNoun "resistivity")
(instance Resistivity PhysicalAttribute)
(documentation Inductance EnglishLanguage "A property of an electric circuit by which an
electromotive force is induced in it by a variation of current.")
(instance Inductance PhysicalAttribute)
(documentation MutualInductance EnglishLanguage "Property whereby an electromotive force is
induced in a circuit by variation of current in a neighboring circuit.")
(subAttribute MutualInductance Inductance)
(instance MutualInductance PhysicalAttribute)
(documentation Stiffness EnglishLanguage "The physical property of being inflexible
and hard to stretch.")
(instance Stiffness PhysicalAttribute)
(documentation Compliance EnglishLanguage "The ability of material to stretch or bend.")
(instance Compliance PhysicalAttribute)
(contraryAttribute Stiffness Compliance)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ABSTRACT-ATTRIBUTES ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(documentation Nonlinear EnglishLanguage "The description of the entity (e.g. a &%Model)
involves nonlinear functions.")
(subclass Nonlinear InternalAttribute)
(lexicon Nonlinear LexNoun "nonlinearity")
(lexicon Nonlinear LexAdjective "nonlinear")
(documentation Backlashless EnglishLanguage "With no backlash.")
(lexicon Backlashless LexAdjective "backlashless")
(subclass Backlashless InternalAttribute)
(documentation Brushless EnglishLanguage "With no brushes (of electrical motors)")
(lexicon Brushless LexAdjective "brushless")
(subclass Brushless InternalAttribute)
(=>
(and
(attribute ?OBJECT ?ATTRIBUTE)
(instance ?ATTRIBUTE Brushless))
(instance ?OBJECT ElectricalMotor))
(documentation Autonomous EnglishLanguage "autonomous")
(lexicon Autonomous LexAdjective "autonomous")
(lexicon Autonomous LexAdverb "autonomously")
(subclass Autonomous InternalAttribute)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; DEVICES ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; JP 16Nov 2023
;; deleted MechanicalDevice as it overlaps with Machine
(documentation FluidPowerDevice EnglishLanguage "An &%EngineeringComponent in function of
which play role fluid-power energetical interactions.")
(lexicon FluidPowerDevice LexNoun "{fluid power} device")
(subclass FluidPowerDevice EngineeringComponent)
(documentation Motor EnglishLanguage "An actuator intended to deliver mechanical power")
(lexicon Motor LexNoun "motor")
(lexicon Motor LexNoun "engine")
(subclass Motor Machine)
(models Transformer Motor)
(documentation Relay EnglishLanguage "an electro-mechanical device used as a controlled switch")
(lexicon Relay LexNoun "relay")
(lexicon Relay LexNoun "electrical relay")
(subclass Relay ElectricalComponent)
(subclass Relay SwitchDevice)
(documentation Pendulum EnglishLanguage "A &%Machine of an object mounted so that
it swings freely under the influence of gravity.")
(subclass Pendulum Device)
(documentation Gear EnglishLanguage "a toothed wheel that engages another toothed
mechanism in order to change the speed or direction of transmitted motion.")
(subclass Gear EngineeringComponent)
(subclass SpurGear Gear)
(documentation SpurGear EnglishLanguage "A &%SpurGear, also known as straight-cut
gear, is the simplest type of &%Gear. It consists of a &%Cylinder or disk with teeth
projecting radially. Though the teeth are not straight-sided (but usually of special
form to achieve a constant drive ratio, mainly involute but less commonly cycloidal),
the edge of each tooth is straight and aligned &%parallel to the &%axis of rotation.
These gears mesh together correctly only if fitted to parallel shafts. [Wikipedia]")
(names "straight cut gear" SpurGear)
(subclass ExternalGear Gear)
(documentation ExternalGear EnglishLanguage "&%ExternalGears are &%Gears with
teeth on the &%Outside of the &%Cylinder or cone. When two external gears mesh
together they rotate in the opposite directions. [Wikipedia]")
; if a gear has a hole and it's an external gear then the surface of
; its teeth are not part of the hole host fn of that hole
(=>
(and
(instance ?G ExternalGear)
(instance ?H HoleRegion)
(equal ?G
(HoleHostFn ?H))
(instance ?T GearTooth)
(part ?T ?G)
(surface ?ST ?T))
(not
(part ?ST ?G)))
(subclass InternalGear Gear)
(documentation InternalGear EnglishLanguage "&%InternalGear are
&%Gears with teeth on the &%Inside of the &%Cylinder or cone. An &%InternalGear can
only mesh with an external gear and the gears rotate in the same direction. [Wikipedia]")
; every internal gear is the HoleHostFn of a Hole and the surface
; of every gear tooth that is part of the gear is a part of the HoleHostFn of that Hole
(=>
(instance ?G InternalGear)
(exists (?H)
(and
(instance ?H HoleRegion)
(equal ?G
(HoleHostFn ?H)))))
(=>
(and
(instance ?T GearTooth)
(instance ?G InternalGear)
(part ?T ?G)
(surface ?S ?T))
(exists (?H)
(and
(instance ?H HoleRegion)
(equal ?G
(HoleHostFn ?H))
(part ?S ?G))))
(subclass GearTooth EngineeringComponent)
(typicalPart GearTooth Gear)
(documentation GearTooth EnglishLanguage "Gear teeth are typical parts of a &%Gear.
They are usually located at the exterior surface, although there are &%InternalGear
in which the gear tooth are found at the interior surface of the &%Gear.")
(=>
(and
(instance ?G Gear)
(superficialPart ?SG ?G)
(instance ?T GearTooth)
(part ?T ?G)
(surface ?ST ?T))
(part ?ST ?SG))
(instance gearToothCount BinaryPredicate)
(relatedInternalConcept gearToothCount gearRatio)
(documentation gearToothCount EnglishLanguage "&%gearToothCount is an &%instance
of a &%BinaryPredicate. (gearToothCount ?GEAR ?INTEGER) means that there are
?INTEGER number of &%GearTooth that are part of the &%Gear ?GEAR.")
(domain gearToothCount 1 Gear)
(domain gearToothCount 2 Integer)
(=>
(and
(instance ?G Gear)
(part ?T ?G)
(instance ?T GearTooth)
(gearToothCount ?G ?I))
(exists (?C)
(and
(instance ?C Collection)
(member ?T ?C)
(memberCount ?C ?I))))
(instance gearRatio TernaryPredicate)
(relatedInternalConcept gearRatio gearRatio)
(documentation gearRatio EnglishLanguage "&%gearRatio is an &%instance
of a &%TernaryPredicate. (gearRatio ?GEAR1 ?GEAR2 ?INTEGER) means that the
&%gearRatio between ?GEAR1 and ?GEAR2 is ?INTEGER.It is the number of the
&%toothCount of a gear ?GEAR1 that causes another gear ?GEAR2 to rotate
divided by the &%toothCount of that other gear. So if ?GEAR1 with 20 teeth
causes ?GEAR2 to rotate, and that ?GEAR2 has 10 teeth, then the GearRatio
of the system of two gears is 2 (or often it will be described as '2:1'
in text).")
(domain gearRatio 1 Gear)
(domain gearRatio 2 Gear)
(domain gearRatio 3 RationalNumber)
(=>
(gearRatio ?G1 ?G2 ?R)
(exists (?R1 ?R2)
(and
(instance ?R1 Rotating)
(patient ?R1 ?G1)
(instance ?R2 Rotating)
(patient ?R2 ?G2)
(causes ?R1 ?R2)
(not
(equal ?R1 ?R2)))))
(=>
(and
(gearToothCount ?G1 ?I1)
(gearToothCount ?G2 ?I2)
(gearRatio ?G1 ?G2 ?R))
(equal ?R
(DivisionFn ?I1 ?I2)))
(documentation GearTrain EnglishLanguage "a pair of gears that are used to change speed or
direction of an angular motion, ideal gear train can be modeled using
a transformer.")
(subclass GearTrain EngineeringComponent)
(typicalPart Gear GearTrain)
(documentation Gearbox EnglishLanguage "A device composed of several gear-trains used
to change speed and torque of transmitted motion.")
(subclass Gearbox EngineeringComponent)
(typicalPart GearTrain Gearbox)
(documentation Shaft EnglishLanguage "A revolving rod that transmits power or motion.")
(subclass Shaft EngineeringComponent)
(typicalPart Shaft Motor)
;; a shaft is a revolving rod
(=>
(instance ?S Shaft)
(exists (?CL)
(and
(instance ?CL Cylinder)
(shape ?S ?CL))))
(=>
(instance ?S Shaft)
(exists (?R)
(and
(instance ?R Rotating)
(patient ?R ?S))))
;;cantilever shaft (SUMO Shaft)
(subclass CantileverShaft Shaft)
(subclass CantileverShaft CantileverObject)
(documentation CantileverShaft EnglishLanguage "A &%CantileverShaft is
is a &%Shaft mounted on one end only with the rest of the shaft protruding out.")
(subclass CantileverObject Artifact)
(documentation CantileverObject EnglishLanguage "A &%CantileverObject is
an &%Artifact that also has the &%Attribute of being a &%Cantilever.")
(instance Cantilever StructureAttribute)
(documentation Cantilever EnglishLanguage "A &%Cantilever is a &%StructureAttribute
that describes a &%Artifact that extends horizontally and is supported at only one
end. [Wikipedia] For example, a &%CantilverObject.")
(=>
(instance ?OBJ CantileverObject)
(attribute ?OBJ Cantilever))
;;electro-mechanical fitting
(subclass ElectroMechanicalFitting Electromagnet)
(documentation ElectroMechanicalFitting EnglishLanguage "An &%ElectroMechanicalFitting
is an &%Electromagnet which takes in an electric current and use the electricity to control
a &%Machine.")
(=>
(instance ?X ElectroMechanicalFitting)
(hasPurpose ?X
(exists (?M ?E ?D)
(and
(instance ?M Motion)
(instance ?E Electricity)
(resource ?M ?E)
(instrument ?M ?X)
(patient ?M ?D)
(instance ?D Machine)))))
;;"AMR"
;; Robot cannot experience emotion, so it's not a CognitiveAgent
(subclass AutonomousMobileRobot AutonomousAgent)
(subclass AutonomousMobileRobot Robot)
(documentation AutonomousMobileRobot EnglishLanguage "An &%AutonomousMobileRobot
(AMR) is a type of robot. Among other possible activities, it can at least navigate
in an uncontrolled environment without the need for physical or electro-mechanical
guidance device. AMRs use a sophisticated set of sensors and cameras, aritificial
intelligence,machine learning algorithms to compute for path planning to intepret
and navigate through their environment.[Wikipedia]")
(names "AMR" AutonomousMobileRobot)
;; hasPurpose to move autonomously
(=>
(instance ?AMR AutonomousMobileRobot)
(hasPurpose ?AMR
(exists (?T)
(and
(instance ?T Translocation)
(agent ?T ?AMR)
(patient ?T ?AMR)
(instrument ?T ?AMR)
(experiencer ?T ?AMR)
(not
(exists (?G ?A)
(and
(instance ?G Guiding)
(patient ?G ?AMR)
(agent ?G ?A)
(or
(instance ?A Human)
(instance ?A Device)))))))))
;; PS Guiding is a term originated from Merge but it has not yet
;; been formalised. Driving is a subclass of Guiding
;; I haven't seen any implication of "control" or not causing an accident
;; or not hitting an unintended object involved in the codes
(subclass Robot Machine)
(documentation Robot EnglishLanguage "A &%Robot is a machine—especially one
programmable by a computer—capable of carrying out a complex series of actions
automatically. A robot can be guided by an external control device, or the control
may be embedded within. Robots may be constructed to evoke human form, but most
robots are task-performing machines, designed with an emphasis on stark
functionality, rather than expressive aesthetics.[Wikipedia]")
(=>