00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053
00054
00055
00056
00057
00058
00059
00060
00061
00062
00063
00064
00065
00066
00067
00068
00069
00070
00071 #include <stdio.h>
00072 #include <stdlib.h>
00073 #include <math.h>
00074 #include "aliasc.h"
00075 #include "globalc.h"
00076 #include "constrelcl.h"
00077 #include "constrel.h"
00078
00079 state_eqcl::state_eqcl()
00080 {}
00081 state_eqcl::~state_eqcl()
00082 {}
00083
00084
00085
00086
00087
00088
00089
00090
00091
00092
00093 double state_eqcl::get_s(double pc,double pg,double t,long ipp)
00094 {
00095 long i;
00096 double s;
00097
00098 i = Cml->ip[ipp].idm;
00099
00100 switch (Cml->ip[ipp].tm){
00101 case concreteBc:{
00102 s = Cml->concretec[i].concreteB_sw(pc,t);
00103 break;
00104 }
00105 case baroghelBc:{
00106 s = Cml->baroghelc[i].baroghel_sw(pc,t);
00107 break;
00108 }
00109 case C60baroghelBc:{
00110 s = Cml->C60baroghelc[i].sat(pc,t);
00111 break;
00112 }
00113 case C30baroghelBc:{
00114 s = Cml->C30baroghelc[i].sat(pc,t);
00115 break;
00116 }
00117 case o30bazantBc:{
00118 s = Cml->o30bazantc[i].sat(pc,t);
00119 break;
00120 }
00121 case C60bazantBc:{
00122 s = Cml->C60bazantc[i].sat(pc,t);
00123 break;
00124 }
00125
00126 default:{
00127 fprintf (stderr,"\n\n unknown material type is required in function (%s, line %d).\n",__FILE__,__LINE__);
00128 }
00129 }
00130
00131 return(s);
00132 }
00133
00134
00135
00136
00137
00138
00139
00140
00141
00142
00143 double state_eqcl::get_alpha(double pc, double pg, double t,long ipp)
00144 {
00145 long i;
00146 double alpha;
00147
00148 i = Cml->ip[ipp].idm;
00149
00150 switch (Cml->ip[ipp].tm){
00151
00152
00153
00154
00155
00156 case baroghelBc:{
00157 alpha = Cml->baroghelc[i].baroghel_alpha();
00158 break;
00159 }
00160 case C60baroghelBc:{
00161 alpha = Cml->C60baroghelc[i].C60bar_alpha();
00162 break;
00163 }
00164 case C30baroghelBc:{
00165 alpha = Cml->C30baroghelc[i].C30bar_alpha();
00166 break;
00167 }
00168 case o30bazantBc:{
00169 alpha = Cml->o30bazantc[i].o30baz_alpha();
00170 break;
00171 }
00172 case C60bazantBc:{
00173 alpha = Cml->C60bazantc[i].C60baz_alpha();
00174 break;
00175 }
00176 default:{
00177 alpha = 1.0;
00178
00179 }
00180 }
00181
00182 return(alpha);
00183 }
00184
00185
00186
00187
00188
00189
00190
00191
00192
00193
00194
00195
00196 double state_eqcl::get_rhos(double pc,double pg,double t,long ipp)
00197 {
00198 long i;
00199 double rhos;
00200
00201 i = Cml->ip[ipp].idm;
00202
00203 switch (Cml->ip[ipp].tm){
00204 case concreteBc:{
00205 rhos = Cml->concretec[i].concreteB_rhos(t);
00206 break;
00207 }
00208 case baroghelBc:{
00209 rhos = Cml->baroghelc[i].baroghel_rhos();
00210 break;
00211 }
00212 case C60baroghelBc:{
00213 rhos = Cml->C60baroghelc[i].C60bar_rhos();
00214 break;
00215 }
00216 case C30baroghelBc:{
00217 rhos = Cml->C30baroghelc[i].C30bar_rhos();
00218 break;
00219 }
00220 case o30bazantBc:{
00221 rhos = Cml->o30bazantc[i].o30baz_rhos(t);
00222 break;
00223 }
00224 case C60bazantBc:{
00225 rhos = Cml->C60bazantc[i].C60baz_rhos();
00226 break;
00227 }
00228 default:{
00229 fprintf (stderr,"\n\n unknown material type is required in function (%s, line %d).\n",__FILE__,__LINE__);
00230 }
00231 }
00232 return(rhos);
00233 }
00234
00235
00236
00237
00238
00239
00240
00241
00242
00243
00244 double state_eqcl::get_betas(double pc,double pg,double t,long ipp)
00245 {
00246 long i;
00247 double betas;
00248
00249 i = Cml->ip[ipp].idm;
00250
00251 switch (Cml->ip[ipp].tm){
00252 case concreteBc:{
00253 betas = Cml->concretec[i].concreteB_betas();
00254 break;
00255 }
00256 case baroghelBc:{
00257 betas = Cml->baroghelc[i].baroghel_betas();
00258 break;
00259 }
00260 case C60baroghelBc:{
00261 betas = Cml->C60baroghelc[i].C60bar_betas();
00262 break;
00263 }
00264 case C30baroghelBc:{
00265 betas = Cml->C30baroghelc[i].C30bar_betas();
00266 break;
00267 }
00268 case o30bazantBc:{
00269 betas = Cml->o30bazantc[i].o30baz_betas();
00270 break;
00271 }
00272 case C60bazantBc:{
00273 betas = Cml->C60bazantc[i].C60baz_betas();
00274 break;
00275 }
00276 default:{
00277 fprintf (stderr,"\n\n unknown material type is required in function (%s, line %d).\n",__FILE__,__LINE__);
00278 }
00279 }
00280
00281 return(betas);
00282 }
00283
00284
00285
00286
00287
00288
00289
00290
00291
00292 double state_eqcl::get_krw(double pc,double t,long ipp)
00293 {
00294 long i;
00295 double krw,s,rh;
00296 state_eq tt;
00297
00298 i = Cml->ip[ipp].idm;
00299
00300 switch (Tm->ip[ipp].tm){
00301 case concreteBc:{
00302 s = Cml->concretec[i].concreteB_sw(pc,t);
00303 rh = tt.get_rh(pc,t);
00304 krw = Cml->concretec[i].concreteB_krw(s,rh);
00305 break;
00306 }
00307 case baroghelBc:{
00308 krw = Cml->baroghelc[i].baroghel_krw(pc,t);
00309 break;
00310 }
00311 case C60baroghelBc:{
00312 rh = tt.get_rh(pc,t);
00313 krw = Cml->C60baroghelc[i].C60bar_krw(pc,t,rh);
00314 break;
00315 }
00316 case C30baroghelBc:{
00317 rh = tt.get_rh(pc,t);
00318 krw = Cml->C30baroghelc[i].C30bar_krw(pc,t,rh);
00319 break;
00320 }
00321 case o30bazantBc:{
00322 rh = tt.get_rh(pc,t);
00323 krw = Cml->o30bazantc[i].o30baz_krw(pc,t,rh);
00324 break;
00325 }
00326 case C60bazantBc:{
00327 krw = Cml->C60bazantc[i].C60baz_krw(pc,t);
00328 break;
00329 }
00330 default:{
00331 fprintf (stderr,"\n\n unknown material type is required in function (%s, line %d).\n",__FILE__,__LINE__);
00332 }
00333 }
00334
00335 return(krw);
00336 }
00337
00338
00339
00340
00341
00342
00343
00344
00345
00346 double state_eqcl::get_kintr(double pc,double pg,double t,long ipp)
00347 {
00348 long i;
00349 double kintr,dam;
00350
00351 i = Cml->ip[ipp].idm;
00352
00353
00354 switch (Tm->ip[ipp].tm){
00355 case concreteBc:{
00356
00357 break;
00358 }
00359 case baroghelBc:{
00360 kintr = Cml->baroghelc[i].baroghel_kintr();
00361 break;
00362 }
00363 case C60baroghelBc:{
00364 kintr = Cml->C60baroghelc[i].C60bar_kintr(pc,pg,t,dam);
00365 break;
00366 }
00367 case C30baroghelBc:{
00368 kintr = Cml->C30baroghelc[i].C30bar_kintr(pc,pg,t,dam);
00369 break;
00370 }
00371 case o30bazantBc:{
00372 kintr = Cml->o30bazantc[i].o30baz_kintr(pc,pg,t,dam);
00373 break;
00374 }
00375 case C60bazantBc:{
00376 kintr = Cml->C60bazantc[i].C60baz_kintr();
00377 break;
00378 }
00379
00380 default:{
00381 fprintf (stderr,"\n\n unknown material type is required in function (%s, line %d).\n",__FILE__,__LINE__);
00382 }
00383 }
00384
00385 return(kintr);
00386 }