RIGIDICE.CPP
#include <iostream.h>
#include <math.h>
#include "rigidice.h"
//
REDUCED VARIABLES
//
From:
//
R. D. Miller (1990) Scaling of freezing phenomena,
//
in Scaling in soil physics:principles and applications
//
SSSA special Publication Number 25
0
0
1
REDUCE::REDUCE() {
2
// specific gravity of ice?
3
Y=rhoI/rhoW;
4
orglamda=1.0e-6;
5
orgeta=0.01;
6
FW = 1;
7
orgFW = F(FW*(-rhoW*grav));
8
// reduced latent heat of fusion, per unit volume of melt
9
H =rhoW*(lamda/gammaIA)*hIW;
10
InitScales();
11
}
12
13
void REDUCE::FirstScales(double micro, double macro, double body){
14
orglamda = micro;
15
orgeta = macro;
FW = body;
16
orgFW = F(FW*(-rhoW*grav));
17
// reduced latent heat of fusion, per unit volume of melt
18
H =rhoW*(lamda/gammaIA)*hIW;
19
InitScales();
20
}
21
22
void REDUCE::InitScales(){
23
lamda = orglamda;
24
eta = orgeta;
25
FW = orgFW;
26
}
27
28
// reduced length
29
double REDUCE::L(double rSI)
30
{ return ((1/lamda)*rSI);}
31
// reduced pressure
32
double REDUCE::P(double pSI)
33
{ return ((lamda/gammaIA)*pSI);}
34
// reduced temperature
35
double REDUCE::RTHETA(double thetaSI)
36
{ return ((1/theta0)*thetaSI);}
37
// reduced stress
38
double REDUCE::SIGMA(double sigmaSI)
39
{ return ((lamda/gammaIA)*sigmaSI);}
40
// reduced gradient
41
18