getfem-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Getfem-users] Error in solving Laplacian problem


From: Andriy Andreykiv
Subject: Re: [Getfem-users] Error in solving Laplacian problem
Date: Wed, 11 Jan 2017 10:19:57 +0100

Dear Stefano,

From your problem description I see you're using discontinuous fem method for your main variable.
I don't think you can use it directly (unless you're in Discontinuous Galerkin, but then I don't know much about it.)
Please instead of 
FEM_TYPE= 'FEM_PK_DISCONTINUOUS(3,1)';
try to use
FEM_TYPE= 'FEM_PK(3,1)';

Best regards,
                     Andriy

On 10 January 2017 at 16:09, Stefano Brambilla <address@hidden> wrote:
Hello,

I'm using Getfem 5.0 on Scientific Linux.

I'm trying to solve a coupled diffusion-transport problem in a mesh 3D-1D; i have some issues assemblying the stiffness matrix for the laplace operator (for diffusion term).
I tried building it both with the already-made function getfem::asm_stiffness_matrix_for_laplacian and with the generic_assembly class, that means:
      getfem::generic_assembly
      assem("M$1(#1,#1) += sym(comp(vGrad(#1).vGrad(#1)) (:,i,k, : ,i,k) )");
      assem.push_mi(mim);
      assem.push_mf(mf_u);
      assem.push_mat(AM);
      assem.assembly();

both seems to generate a singular matrix.
I guess that my errors are into the boundary conditions or in the choice of fem methods and integration method; which is probably confirmed, sinced i have the same problems with the test code tests/laplacian.cc

i have, as output using an iterative method as GMRES:

Level 2 Warning in /opt/getfem/5.0/include/gmm/gmm_precond_ilut.h, line 172: pivot 1 too small. try with ilutp ?
Level 2 Warning in /opt/getfem/5.0/include/gmm/gmm_precond_ilut.h, line 172: pivot 2 too small. try with ilutp ?
...
Level 2 Warning in /opt/getfem/5.0/include/gmm/gmm_precond_ilut.h, line 172: pivot 21078 too small. try with ilutp ?
Time to compute preconditionner : 0.07 seconds
 iter   0 residual            1
 iter  50 residual     0.117633
 iter 100 residual     0.125247
 iter 150 residual     0.137942
 iter 200 residual     0.159473
 iter 250 residual     0.226573
 iter 300 residual     0.147597
 iter 350 residual     0.150442
 iter 400 residual     0.151829
 iter 450 residual     0.161334
 iter 500 residual     0.177289
 iter 550 residual     0.248701
Gmres is blocked, exiting
Total time to solve : 2.59 seconds
============================================
|      An error has been detected !!!      |
============================================
Error in main.cpp, line 339 :
Solve procedure has failed


and, with SuperLU:

Level 1 Warning in ../../src/getfem_superlu.cc, line 217: SuperLU solve failed: info =4
Floating point exception


i am using this .param file:
%===================================
%  MESH
%===================================
NX=10;
MESH_NOISED = 0;
LX=1;
LY=2;
LZ=1;
INCLINE =0;
FT = 1;
RESIDUAL=1E-10;
ROOTFILENAME = '/home/pacs_student/Desktop/pacs_shared/mesh'
%===================================
%  GETFEM DESCRIPTORS
%===================================
% GetFem type for the 3D mesh
MESH_TYPE = 'GT_PK(3,1)';  
% GetFem type for the Finite Element Method
FEM_TYPE= 'FEM_PK_DISCONTINUOUS(3,1)';
% GetFem type for the Integration Method
INTEGRATION    = 'IM_TETRAHEDRON(6)';
DATA_FEM_TYPE = 'FEM_PK_DISCONTINUOUS(3,1)';
GENERIC_DIRICHLET=0;



Thank you all for your help!!
Best regards
Stefano Brambilla




_______________________________________________
Getfem-users mailing list
address@hidden
https://mail.gna.org/listinfo/getfem-users



reply via email to

[Prev in Thread] Current Thread [Next in Thread]