View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0000305 | OpenFOAM | Bug | public | 2011-10-04 02:41 | 2011-10-05 16:47 |
Reporter | mateusps | Assigned To | henry | ||
Priority | normal | Severity | minor | Reproducibility | always |
Status | resolved | Resolution | fixed | ||
Platform | Linux | OS | Ubuntu | OS Version | 10.04 |
Summary | 0000305: Problems to input a tensorial viscosity, or a fvm::laplacian(<tensor>,<vector>) | ||||
Description | While trying to make some changes in some equations, I had to multiply the fvm::laplacian(nu,U) by a constant tensor. Since the tensor is constant (and diagonal), it should be just the same as using a tensorial viscosity. But I had errors when I tryed to run the solver. I've already used tensorial diffusivities for the energy equation and other scalar equations, with no problems, but for the motion equation (or for a laplacian of a vector, or div(tensor & grad(U))) it doesn't work. It compiles well, with no errors, but when I run the solver, it breaks, with the following error messages: #0 Foam::error::printStack(Foam::Ostream&) in "/opt/openfoam171/lib/linuxGccDPOpt/libOpenFOAM.so" #1 Foam::sigSegv::sigSegvHandler(int) in "/opt/openfoam171/lib/linuxGccDPOpt/libOpenFOAM.so" #2 Uninterpreted: #3 in "/home/mateus/OpenFOAM/mateus-1.7.1/applications/bin/linuxGccDPOpt/envido" #4 in "/home/mateus/OpenFOAM/mateus-1.7.1/applications/bin/linuxGccDPOpt/envido" #5 in "/home/mateus/OpenFOAM/mateus-1.7.1/applications/bin/linuxGccDPOpt/envido" #6 __libc_start_main in "/lib/tls/i686/cmov/libc.so.6" #7 in "/home/mateus/OpenFOAM/mateus-1.7.1/applications/bin/linuxGccDPOpt/envido" Segmentation fault Then, I think I solved the problem. Apparently the fvm::laplacian(<tensor>,<vector>) wasn't really implemented (at least at versions 1.7.1 and 2.0.0, in which I tryed testing). I just modified the file laplacianScheme.H in the directory /opt/openfoam171/src/finiteVolume/finiteVolume/laplacianSchemes/LaplacianScheme/, adding the line: makeFvLaplacianTypeScheme(SS, vector, tensor) \ and recompiled the finiteVolume libso, and apparently it worked properly. | ||||
Steps To Reproduce | Set some tensor multiplying the nu in fvm::laplacian(nu,U) in any solver, and try to run the solver. The problem occured to me in OpenFOAM 1.7.1 and 2.0.0. | ||||
Additional Information | As already said, I think I solved the problem. Apparently the fvm::laplacian(<tensor>,<vector>) wasn't really implemented (at least at versions 1.7.1 and 2.0.0, in which I tryed testing). I just modified the file laplacianScheme.H in the directory /opt/openfoam171/src/finiteVolume/finiteVolume/laplacianSchemes/LaplacianScheme/, adding the line: makeFvLaplacianTypeScheme(SS, vector, tensor) \ and recompiled the finiteVolume libso. Apparently it worked properly, and the result was OK with the identity tensor, but I didn't test the numerical results with other tensors. | ||||
Tags | No tags attached. | ||||