Differences From Artifact [9166ff4a04]:

To Artifact [16e85cba17]:


12
13
14
15
16
17
18





19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34


###############################################################
## Version control history
###############################################################
## $Id$
## $Log$





## Revision 1.5  1998/10/01 16:05:34  peterg
## Separate switch.m file for euler and implicit integration
##
###############################################################


echo Creating  $1_switch.m
echo Creating  $1_switcha.m

# Find system constants
Nx=`grep "MTTNx " <$1_def.r | awk '{print $3}' | sed 's/;//'`

#Write some file headers
lang_header $1 switch m 'mttx' '[mttx]' > $1_switch.m

# Set states to zero







>
>
>
>
>







<
<







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


###############################################################
## Version control history
###############################################################
## $Id$
## $Log$
## Revision 1.6  1998/10/01 18:20:50  peterg
## Split up the three if conditions on the switch and state value into
## three separate ifs. This is because p2c seems to generate incorrect
## code id just the one if is used (???).
##
## Revision 1.5  1998/10/01 16:05:34  peterg
## Separate switch.m file for euler and implicit integration
##
###############################################################


echo Creating  $1_switch.m


# Find system constants
Nx=`grep "MTTNx " <$1_def.r | awk '{print $3}' | sed 's/;//'`

#Write some file headers
lang_header $1 switch m 'mttx' '[mttx]' > $1_switch.m

# Set states to zero
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
  printf("    mttx(%s)=0.0;\n", $2);
  printf("  end;\n");
  printf("end;\n");

  }
}' Nx=$Nx < $1_switch.txt >> $1_switch.m



# Implicit integration version
#Write some file headers
lang_header $1 switcha m 'mttAA,mttx' '[mttAA]' > $1_switcha.m


awk '{
  if ($1=="#"){


    printf("#== Switches set row and column of A matrix to zero ==#\n")
  }
  else{
  printf("#== Switch: %s ==#\n",$1)
  printf("if (%s==0.0) \n", $1);
  printf("  for  MTTi=1:%s\n",Nx)
  printf("    mttAA(MTTi,%s)=0.0;\n", $2)
  printf("    mttAA(%s,MTTi)=0.0;\n", $2)
  printf("  end;\n");
  printf("  mttAA(%s,%s) = 1.0;\n", $2,$2);
  printf("end;\n\n")

  printf("if (%s<0.0)\n",$1);
  printf("  if (mttx(%s)<=0.0)\n",$2);
  printf("    for  MTTi=1:%s\n",Nx)
  printf("      mttAA(MTTi,%s)=0.0;\n", $2)
  printf("      mttAA(%s,MTTi)=0.0;\n", $2)
  printf("    end;\n");
  printf("    mttAA(%s,%s) = 1.0;\n", $2,$2);
  printf("  end;\n");
  printf("end;\n");

  }
































}' Nx=$Nx < $1_switch.txt >> $1_switcha.m










>
>
|

|
>
>


>
>
|


|

<
<
<
|
<
|
<


<
<
<
|
<




>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
|



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
  printf("    mttx(%s)=0.0;\n", $2);
  printf("  end;\n");
  printf("end;\n");

  }
}' Nx=$Nx < $1_switch.txt >> $1_switch.m

## Set index version
echo Creating  $1_switchopen.m

#Write some file headers
lang_header $1 switchopen m 'mttx' '[open]' > $1_switchopen.m

# Set states to zero
awk '{
  if ($1=="#"){
    printf("#== open - boolean vector of open switches ==#\n")
    printf("[open] = zero_vector(%i); # Default to not open\n", Nx);
    
  }
  else{
  printf("\n#== Switch: %s ==#\n",$1)
  printf("if (%s==0.0) \n", $1);



  printf("  open(%s) = 1;\n", $2);

  printf("end;\n");

  printf("if (%s<0.0)\n",$1);
  printf("  if (mttx(%s)<=0.0)\n",$2);



  printf("    open(%s) = 1;\n", $2);

  printf("  end;\n");
  printf("end;\n");

  }
}' Nx=$Nx < $1_switch.txt >> $1_switchopen.m

#echo Creating  $1_switcha.m

# Implicit integration version
#Write some file headers
# lang_header $1 switcha m 'mttAA,mttx' '[mttAA]' > $1_switcha.m
# awk '{
#   if ($1=="#"){
#     printf("#== Switches set row and column of A matrix to zero ==#\n")
#   }
#   else{
#   printf("#== Switch: %s ==#\n",$1)
#   printf("if (%s==0.0) \n", $1);
#   printf("  for  MTTi=1:%s\n",Nx)
#   printf("    mttAA(MTTi,%s)=0.0;\n", $2)
#   printf("    mttAA(%s,MTTi)=0.0;\n", $2)
#   printf("  end;\n");
#   printf("  mttAA(%s,%s) = 1.0;\n", $2,$2);
#   printf("end;\n\n")
# 
#   printf("if (%s<0.0)\n",$1);
#   printf("  if (mttx(%s)<=0.0)\n",$2);
#   printf("    for  MTTi=1:%s\n",Nx)
#   printf("      mttAA(MTTi,%s)=0.0;\n", $2)
#   printf("      mttAA(%s,MTTi)=0.0;\n", $2)
#   printf("    end;\n");
#   printf("    mttAA(%s,%s) = 1.0;\n", $2,$2);
#   printf("  end;\n");
#   printf("end;\n");
# 
#   }
# }' Nx=$Nx < $1_switch.txt >> $1_switcha.m




MTT: Model Transformation Tools
GitHub | SourceHut | Sourceforge | Fossil RSS ]