Skip to content

Commit

Permalink
Reordered and fixed documentation
Browse files Browse the repository at this point in the history
git-svn-id: https://openmodelica.org/svn/OpenModelica/trunk@254 f25d12d1-65f4-0310-ae8a-bbce733d8d8e
  • Loading branch information
x97davka committed Apr 7, 1998
1 parent 911e057 commit d27bbb8
Show file tree
Hide file tree
Showing 3 changed files with 605 additions and 494 deletions.
164 changes: 82 additions & 82 deletions modeq/connect.rml
@@ -1,6 +1,6 @@
(*
* connect.rml
*)
(**
** file: connect.rml
**)

module Connect :

Expand All @@ -24,9 +24,9 @@ module Connect :

end

(**********************************************************************
* Lookup
**********************************************************************)
(**
** Lookup
**)

relation find_in_set_equ : (Exp.ComponentRef list, Exp.ComponentRef) => () =

Expand Down Expand Up @@ -109,21 +109,25 @@ relation find_flow_set : (Sets, Exp.ComponentRef, Face) => Set =

end

(**********************************************************************
* Merge
**********************************************************************)
(**
** Merge
**)

relation remove_set : (Sets, Set) => Sets =
relation merge : (Sets, Set, Set) => Sets =

axiom remove_set([],_) => []
rule s1 = s2
-------
merge(ss,s1,s2) => ss

rule s = s1
------
remove_set(s::ss, s1) => ss

rule remove_set(ss,s1) => ss'
------------------------
remove_set(s::ss, s1) => s::ss'
rule list_append(cs1,cs2) => cs &
remove_set2(ss,s1,s2) => ss'
----------------------------
merge(ss, s1 as EQU(cs1), s2 as EQU(cs2)) => EQU(cs)::ss'

rule list_append(cs1,cs2) => cs &
remove_set2(ss,s1,s2) => ss'
----------------------------
merge(ss, s1 as FLOW(cs1), s2 as FLOW(cs2)) => FLOW(cs)::ss'

end

Expand All @@ -147,27 +151,23 @@ relation remove_set2 : (Sets, Set, Set) => Sets =

end

relation merge : (Sets, Set, Set) => Sets =

rule s1 = s2
-------
merge(ss,s1,s2) => ss
relation remove_set : (Sets, Set) => Sets =

rule list_append(cs1,cs2) => cs &
remove_set2(ss,s1,s2) => ss'
----------------------------
merge(ss, s1 as EQU(cs1), s2 as EQU(cs2)) => EQU(cs)::ss'
axiom remove_set([],_) => []

rule list_append(cs1,cs2) => cs &
remove_set2(ss,s1,s2) => ss'
----------------------------
merge(ss, s1 as FLOW(cs1), s2 as FLOW(cs2)) => FLOW(cs)::ss'
rule s = s1
------
remove_set(s::ss, s1) => ss

rule remove_set(ss,s1) => ss'
------------------------
remove_set(s::ss, s1) => s::ss'

end

(**********************************************************************
* Add
**********************************************************************)
(**
** Add
**)

relation add_equ : (Sets, Exp.ComponentRef, Exp.ComponentRef) => Sets =

Expand Down Expand Up @@ -196,23 +196,20 @@ relation add_flow : (Sets, Exp.ComponentRef, Face, Exp.ComponentRef, Face)

end

(**********************************************************************
* Dump
**********************************************************************)
(**
** Dump
**)

with "dump.rml"

relation dump_flow_ref : (Exp.ComponentRef * Face) => () =
relation dump_sets : Sets => () =

rule Dump.dump_component_ref c &
print " INNER"
-----------
dump_flow_ref((c,INNER))
axiom dump_sets []

rule Dump.dump_component_ref c &
print " OUTER"
-----------
dump_flow_ref((c,OUTER))
rule dump_set x &
dump_sets xs
------------
dump_sets x::xs

end

Expand All @@ -232,20 +229,41 @@ relation dump_set : Set => () =

end

relation dump_sets : Sets => () =
relation dump_flow_ref : (Exp.ComponentRef * Face) => () =

axiom dump_sets []
rule Dump.dump_component_ref c &
print " INNER"
-----------
dump_flow_ref((c,INNER))

rule dump_set x &
dump_sets xs
------------
dump_sets x::xs
rule Dump.dump_component_ref c &
print " OUTER"
-----------
dump_flow_ref((c,OUTER))

end

(**********************************************************************
* Equations
**********************************************************************)
(**
** Equations
**)

relation equations : Sets => DAE.DAEcomp list =

axiom equations [] => []

rule equ_equations cs => dae1 &
equations ss => dae2 &
list_append(dae1,dae2) => dae
-----------------------------
equations EQU(cs)::ss => dae

rule flow_equations cs => dae1 &
equations ss => dae2 &
list_append(dae1,dae2) => dae
-----------------------------
equations FLOW(cs)::ss => dae

end

relation equ_equations : Exp.ComponentRef list => DAE.DAEcomp list =

Expand All @@ -258,10 +276,13 @@ relation equ_equations : Exp.ComponentRef list => DAE.DAEcomp list =
Exp.CREF(y)))::eq
end

relation sign_flow : (Exp.ComponentRef, Face) => Exp.Exp =
relation flow_equations : (Exp.ComponentRef * Face) list => DAE.DAEcomp list =

axiom sign_flow (c,INNER) => Exp.CREF(c)
axiom sign_flow (c,OUTER) => Exp.UNARY(Exp.UMINUS,Exp.CREF(c))
rule flow_sum cs => sum
------------------
flow_equations cs => [DAE.EQUATION(Exp.RELATION(sum,
Exp.EQUAL,
Exp.REAL(0.0)))]

end

Expand All @@ -278,30 +299,9 @@ relation flow_sum : (Exp.ComponentRef * Face) list => Exp.Exp =

end

relation flow_equations : (Exp.ComponentRef * Face) list => DAE.DAEcomp list =

rule flow_sum cs => sum
------------------
flow_equations cs => [DAE.EQUATION(Exp.RELATION(sum,
Exp.EQUAL,
Exp.REAL(0.0)))]

end

relation equations : Sets => DAE.DAEcomp list =

axiom equations [] => []

rule equ_equations cs => dae1 &
equations ss => dae2 &
list_append(dae1,dae2) => dae
-----------------------------
equations EQU(cs)::ss => dae
relation sign_flow : (Exp.ComponentRef, Face) => Exp.Exp =

rule flow_equations cs => dae1 &
equations ss => dae2 &
list_append(dae1,dae2) => dae
-----------------------------
equations FLOW(cs)::ss => dae
axiom sign_flow (c,INNER) => Exp.CREF(c)
axiom sign_flow (c,OUTER) => Exp.UNARY(Exp.UMINUS,Exp.CREF(c))

end

0 comments on commit d27bbb8

Please sign in to comment.