150
//
BETA = 2.6;
151
ALPHA = alpha;
152
BETA = beta;
153
154
// ice entry pressure
155
//
PHIB = 11.196*kP2P; // kPa
156
PHIB = phib;
157
PHIB = R.P(PHIB*kP2P);
158
}
159
160
// returns degree of saturation for a given phi
161
double Tsoil::DSAT(double PHI) {
162
return (pow((PHIB/PHI),ALPHA));
163
}
164
165
166
double Tsoil::RKW(double PHI) {
167
//
return (bc.KWSAT*pow((PHIB/PHI),BETA));
168
return (KWSAT*pow((PHIB/PHI),BETA));}
169
170
171
//
172
//
Stress partition factor
173
//
174
//
175
176
void Tsoil::InitStress(){
177
// set defaults to obtain a Snyder factor of 1
178
PROD=0.0;
179
FlagSny = 0;
180
}
181
// calculates Snyder's factor
182
double Tsoil::SNYDER (double PHI,
183
double DSAT,
184
double deltaDSAT){
185
if (FlagSny == 0) {
186
FlagSny = 1;
187
PROD = 0;
188
return (1);
189
}
190
else{
191
PROD = PROD + PHI*deltaDSAT;
192
return( 0.5* (DSAT-(0.3/PHI)*PROD));
193
}
194
}
195
196
197
Tbnds::Tbnds(){
198
InitQuasi(100,10,-10);
199
InitContinuum(10,100,-10);
200
}
201
202
203
void Tbnds::InitContinuum(double heave, double pene, double gradtb){
21