Hi Foamers,
I am trying to create a solver to model EHD thrusters in OpenFOAM. To do this I need to solve electrostatic equations (Gauss' Law and conservation of charge), and then the fluid problem. The equations in OpenFOAM format are as follows:
Code:
solve
(
fvm::laplacian(phiE) + rhoE/epsilon0
);
rhoEFlux = -kE*mesh.magSf()*fvc::snGrad(phiE);
solve
(
fvm::ddt(rhoE) + fvm::div(rhoEFlux, rhoE) + fvm::div(phi, rhoE) - fvm::laplacian(DE, rhoE)
);
when I implement this into simpleFoam I can run cases fine, but when trying to implement them in pisoFOAM I get the following error:
Code:
--> FOAM FATAL ERROR:
incompatible dimensions for operation
[rhoE[0 -3 0 0 0 1 0] ] - [rhoE[1 -8 1 0 0 1 0] ]
From function checkMethod(const fvMatrix<Type>&, const fvMatrix<Type>&)
in file /opt/openfoam30/src/finiteVolume/lnInclude/fvMatrix.C at line 1295.
FOAM aborting
The pisoFoam based solver will run succesfully with every term except "- fvm::laplacian(DE, rhoE)".
I cannot see where I am going wrong, is it something to do with the difference in iterative schemes? I know these equations have been successfully implemented in pisoFoam in the past. Also the fact that the same equations will run when implemented in simpleFoam makes me even more confused!
I understand this is quite a difficult case to jump into, but help would really be appreciated! I have attached both solvers, the working one (thrusterFoam) and the one that does not (pisoThrust).