14 Vector B(3), Bi(3), Bj(3), Bk(3);
17 real Jx = 0., Jy = 0., Jz = 0.;
19 real ResX= 0., ResY= 0., ResZ= 0., ResE= 0.;
20 real eta0=0., etai=0., etaj=0., etak=0., etaR=0.;
31 for(
int i=1; i <= 3; i++){
32 B.setValue (i, Cell1.
average(i+6));
33 Bi.setValue(i, Cell2.
average(i+6));
34 Bj.setValue(i, Cell3.
average(i+6));
35 Bk.setValue(i, Cell4.
average(i+6));
41 etaR = (eta0 + etai)/2.;
43 Bavg.setValue(2, 0.5*(B.value(2) + Bi.value(2)));
44 Bavg.setValue(3, 0.5*(B.value(3) + Bi.value(3)));
46 Jy = -(B.value(3) - Bi.value(3))/dx;
47 Jz = (B.value(2) - Bi.value(2))/dx;
50 Jz = Jz - (B.value(1) - Bj.value(1))/dy;
53 Jy = Jy + (B.value(1) - Bk.value(1))/dz;
56 ResE = etaR*(Bavg.value(2)*Jz - Bavg.value(3)*Jy);
62 }
else if(AxisNo == 2){
64 etaR = (eta0 + etaj)/2.;
66 Bavg.setValue(1, 0.5*(B.value(1) + Bj.value(1)));
67 Bavg.setValue(3, 0.5*(B.value(3) + Bj.value(3)));
69 Jx = (B.value(3) - Bj.value(3))/dy;
70 Jz = -(B.value(1) - Bj.value(1))/dy;
73 Jz = Jz + (B.value(2) - Bi.value(2))/dx;
76 Jx = Jx + (B.value(2) - Bk.value(2))/dz;
79 ResE = etaR*(Bavg.value(3)*Jx - Bavg.value(1)*Jz);
86 etaR = (eta0 + etak)/2.;
88 Bavg.setValue(1, 0.5*(B.value(1) + Bk.value(1)));
89 Bavg.setValue(2, 0.5*(B.value(2) + Bk.value(2)));
91 Jx = -(B.value(2) - Bk.value(2))/dz;
92 Jy = (B.value(1) - Bk.value(1))/dz;
95 Jx = Jx + (B.value(3) - Bj.value(3))/dy;
96 Jy = Jy - (B.value(3) - Bi.value(3))/dx;
98 ResE = etaR*(Bavg.value(1)*Jy - Bavg.value(2)*Jx);
108 Result.setValue(5, ResE);
109 Result.setValue(7, ResX);
110 Result.setValue(8, ResY);
111 Result.setValue(9, ResZ);
int QuantityNb
Definition: Parameters.cpp:171
Standard class for every vector in Carmen.
Definition: Vector.h:29
real Res
Definition: Cell.h:857
int Dimension
Definition: Parameters.cpp:74
real size(const int AxisNo) const
Returns the cell size in the direction AxisNo.
Definition: Cell.h:1095
real average(const int QuantityNo) const
Returns the component no. QuantityNo of the cell-average value.
Definition: Cell.h:1128
#define real
Definition: PreProcessor.h:31