next up previous
Next: Ontology of plastics Up: An Ontology of Materials Previous: Extensions to ENGINEERING

Ontology of materials

 

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Materials
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

(define-theory materials (mechanical-quantities
                          thermal-quantities)  )

(in-theory 'materials)

;;; Class Material

(define-class material (?mat)
  "A material has the properties 
E-module and tensile-strength"
  :def (and (defined (material.e-module ?mat))
            (defined (material.tensile-strength ?mat))
            (defined (material.thermal-conductivity ?mat))
            (defined (material.thermal-expansion ?mat))
            ))

(define-function material.e-module (?mat) :-> ?emod
  "e-module is a vector-quantity of dimension 3 with
the pressure-dimension"
  :def (and (material ?mat)
            (e-module ?emod)  )  )

(define-function material.tensile-strength (?mat) :-> ?x
  "tensile-strength is a scalar-quantity associated with the 
pressure dimension"
  :def (and (material ?mat)
            (tensile-strength ?x)  )  )

(define-function material.thermal-conductivity (?mat) :-> ?x
  "thermal-conductivity is a scalar-quantity associated with the 
dimension (work/(area*temperature))"
  :def (and (material ?mat)
            (thermal-conductivity ?x)  )  )

(define-function material.thermal-expansion (?mat) :-> ?x
  "tensile-strength is a scalar-quantity associated with the 
therm^-1-dimension"
  :def (and (material ?mat)
            (thermal-expansion ?x)  )  )

;;; Class Metal 
;;; subclass of Material
(define-class metal (?met)
  "A metal is a subclass of material. The material.e-module
value of metal consists of three equally valued components, 
i.e. it is an isotropic material.
They must be bounded by 1600MPa and 415300 MPa "
  :def (and (material ?met)
            (= (vector-component (material.e-module ?met) 1 e-module.basis)
               (vector-component (material.e-module ?met) 2 e-module.basis))
            (= (vector-component (material.e-module ?met) 1 e-module.basis)
               (vector-component (material.e-module ?met) 3 e-module.basis))

            (in-interval (vector-component (material.e-module ?met) 
                                           1 
                                           e-module.basis)
                          (* 1600 megapascal)
                          (* 415300 megapascal)))
  )

;;; Class Non-Metal
;;; subclass of Material
(define-class non-metal (?nmet)
  :def (and (material ?nmet)
            (not (metal ?nmet)))
  )



Anna-Maria Schoeller
Mon Nov 20 15:18:31 MET 1995