CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM Programming & Development (https://www.cfd-online.com/Forums/openfoam-programming-development/)
-   -   Modifications work in simpleFoam, not pisoFoam (https://www.cfd-online.com/Forums/openfoam-programming-development/170072-modifications-work-simplefoam-not-pisofoam.html)

Aicharem April 23, 2016 11:15

Modifications work in simpleFoam, not pisoFoam
 
2 Attachment(s)
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).


All times are GMT -4. The time now is 08:48.