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