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 <[email protected]>
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
> [email protected]
> https://mail.gna.org/listinfo/getfem-users
>
>
_______________________________________________
Getfem-users mailing list
[email protected]
https://mail.gna.org/listinfo/getfem-users

Reply via email to