CFD Online Discussion Forums

CFD Online Discussion Forums (http://www.cfd-online.com/Forums/)
-   OpenFOAM Running, Solving & CFD (http://www.cfd-online.com/Forums/openfoam-solving/)
-   -   Modify fvmSupC (http://www.cfd-online.com/Forums/openfoam-solving/60342-modify-fvmsupc.html)

nico January 22, 2006 17:22

Hello Is it possible to cha
 
Hello

Is it possible to change fvmSup.C so that it can be used for volVectorFields oder volTensorfields, too? I tried to add the following lines:

template<class>
tmp<fvmatrix<type> >
Sp
(
const volVectorField& sp,
GeometricField<type,>& vf
)
{
const fvMesh& mesh = vf.mesh();

tmp<fvmatrix<type> > tfvm
(
new fvMatrix<type>
(
vf,
dimVol*sp.dimensions()*vf.dimensions()
)
);
fvMatrix<type>& fvm = tfvm();

fvm.diag() += mesh.V() * sp.internalField();

return tfvm;
}

template<class>
tmp<fvmatrix<type> >
Sp
(
const tmp<volvectorfield>& tsp,
GeometricField<type,>& vf
)
tmp<fvmatrix<type> > tfvm = fvm::Sp(tsp(), vf);
tsp.clear();
return tfvm;
}


Of course it didn't work that way because the dimensions in line "fvm.diag() += mesh.V() * sp.internalField(); " did not fit. Can anybody tell me how to do this right?
thanks

hjasak January 22, 2006 17:36

Can't do it at the moment. Th
 
Can't do it at the moment. The matrix support given by the lduMatrix class only allows a scalar diagonal and off-diagonal, which is then through tricks (ugly and painful ones) expanded to a vector diagonal but only in the near-wall cells and for the boundary condition handling.

In order to do this, you need a vector diagonal throughout and for this you will need my new block matrix stuff. However, this is still experimental and I'm considering whether to re-base the whole FVM discretisation on it or not (FEM will definitely go that way).

In short, not easy and requires a major rewrite.

Hrv

nico January 23, 2006 09:40

Okay thank u you told me in
 
Okay thank u

you told me in another thread that for porous material i only have to solve darcys law. I understand now that the confection term and the diffusion term of the momentum equation are negligible but my problem stay. I don't know how to implement this term for directetd permeabilities.

nu/K*U=grad(p)

I hoped that it is possible to change fvmSus.C, but as you told me, it isn't.
I would be very thankful, if you gave me some more hints.

Thanks a lot

P.S. I don't know if it matters, but I am looking for symmetric tensorial resistance.


Nico


All times are GMT -4. The time now is 19:45.