Differences From Artifact [4e64889fa4]:

To Artifact [9166ff4a04]:


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


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



###############################################################


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
awk '{
  if ($1=="#"){
#    printf("for MTTi=1:%s\n", Nx)
#    printf("  mttxs(MTTi) = mttx(MTTi);\n")
#    printf("end;\n\n")
    printf("#== Switches set element of state vector to zero ==#\n")
  }
  else{
  printf("\n#== Switch: %s ==#\n",$1)
  printf("if (%s==0.0) \n", $1);
#  printf("if ((%s==0.0)||((%s<0.0)&&mttx(%s)<=0.0)) \n", $1,$1,$2);
  printf("  mttx(%s)=0.0;\n", $2);
  printf("end;\n");






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

# Matrix 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)||((%s<0.0)&&mttx(%s)<=0.0)) \n", $1,$1,$2);
  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")











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










>
>
>















<
<
<





<


>
>
>
>
>
>



|








<







>
>
>
>
>
>
>
>
>
>
>





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


###############################################################
## 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
awk '{
  if ($1=="#"){



    printf("#== Switches set element of state vector to zero ==#\n")
  }
  else{
  printf("\n#== Switch: %s ==#\n",$1)
  printf("if (%s==0.0) \n", $1);

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




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