sharonyue |
July 2, 2013 23:19 |
Ueqn.A() extract the diag. term from the Ueqn??
I just made a testify, add this code into icoFoam:
Code:
fvVectorMatrix UEqn
(
fvm::ddt(U)
+ fvm::div(phi, U)
- fvm::laplacian(nu, U)
);
Info<<"UEqn:" << UEqn << endl;
Info<<"UEqn.A():" << UEqn.A()<< endl;
Info<<"UEqn.H():" << UEqn.H()<< endl;
//solve(UEqn == -fvc::grad(p));
// --- PISO loop
Then I run a 9 nodes cavity case. It output this in the first timestep:
Code:
Create time
Create mesh for time = 0
Reading transportProperties
Reading field p
Reading field U
Reading/calculating face flux field phi
Starting time loop
Time = 0.005
Courant Number mean: 0 max: 0
UEqn:Lower triangle =
12
(
-3e-05
-3e-05
-3e-05
-3e-05
-3e-05
-3e-05
-3e-05
-3e-05
-3e-05
-3e-05
-3e-05
-3e-05
)
diagonal = 9(0.00012 0.00015 0.00012 0.00015 0.00018 0.00015 0.00012 0.00015 0.00012)
Upper triangle =
12
(
-3e-05
-3e-05
-3e-05
-3e-05
-3e-05
-3e-05
-3e-05
-3e-05
-3e-05
-3e-05
-3e-05
-3e-05
)
[0 4 -2 0 0 0 0]
9{(0 0 0)}
3
(
3((6e-05 6e-05 6e-05) (6e-05 6e-05 6e-05) (6e-05 6e-05 6e-05))
9((6e-05 6e-05 6e-05) (6e-05 6e-05 6e-05) (6e-05 6e-05 6e-05) (6e-05 6e-05 6e-05) (6e-05 6e-05 6e-05) (6e-05 6e-05 6e-05) (6e-05 6e-05 6e-05) (6e-05 6e-05 6e-05) (6e-05 6e-05 6e-05))
0()
)
3
(
3((6e-05 0 0) (6e-05 0 0) (6e-05 0 0))
9{(0 0 0)}
0()
)
UEqn.A():dimensions [0 0 -1 0 0 0 0];
internalField nonuniform List<scalar> 9(800 700 800 700 600 700 800 700 800);
boundaryField
{
movingWall
{
type zeroGradient;
}
fixedWalls
{
type zeroGradient;
}
frontAndBack
{
type empty;
}
}
UEqn.H():dimensions [0 1 -2 0 0 0 0];
internalField nonuniform List<vector> 9((0 0 0) (0 0 0) (0 0 0) (0 0 0) (0 0 0) (0 0 0) (200 0 0) (200 0 0) (200 0 0));
boundaryField
{
movingWall
{
type zeroGradient;
}
fixedWalls
{
type zeroGradient;
}
frontAndBack
{
type empty;
}
}
So in this log, Why Ueqn.A()'s internal field is not equal to the Ueqn's diag. term? I mark this two in the red.
Thanks in advance,
|