Dear Yves, thank you for your fast answer.
I have another question: - I have a monodimensional problem but the unknowns are vectorial. I set the vectorial dimension of the unknows with mf_u.set_qdim(3) and with mf_p.set_qdim(3). When I define the expression " Grad_u.Test_p " i receive the following error: terminate called after throwing an instance of 'gmm::gmm_error' what(): Error in ../../getfem-svn/getfem/src/getfem_generic_assembly.cc, line 2074 : dimensions mismatch Grad_u should be a 2nd order tensor, while Test_p should be a vector. I suppose the problem is that Grad_u is interpreted as a vector while Test_p is interpreted as a scalar. How can I use the high level generic assembly procedures on vectorial problems defined on a monodimensional computational domain? Thanks in advance Marco 2014-04-01 8:42 GMT+02:00 Yves Renard <[email protected]>: > > Dear Marco, > > Yes, your code is correct and it should work correctly. > Note that you can also use the high level generic assembly with the > model object using a generic assembly brick. > Note also that high level assembly is only available in the svn > repository version of Getfem > (and a very recent version, at least r4570 because a bug have been > corrected on coupled problems recently). > > Yves. > > > Le 31/03/2014 14:00, Marco Pischedda a écrit : >> Dear all, >> >> I want to use the high level generic assembly procedures in order to >> use the automatic differentation for calculating the Jacobian of a >> non-linear problem. >> >> For example I want to calculate the Jacobian of two vectorial >> equations in the unknowns "u" and "p". The first vectorial equation is >> (u+p).Test_u while the second is (u+p).Test_p. >> >> It is correct the following code? >> >> gmm::sub_interval Iu(0, ndofs_u); >> gmm::sub_interval Ip(ndofs_u,ndofs_p); >> workspace.add_fem_variable("u", mf_u, Iu, U); >> workspace.add_fem_variable("p", mf_p, Ip, P); >> workspace.add_expression("(u+p).Test_u + (u+p).Test_p",mim); >> getfem::model_real_sparse_matrix Jac(ndofs_u+ndofs_p, ndofs_u+ndofs_p); >> workspace.set_assembled_matrix(Jac); >> workspace.assembly(2); >> >> In the matrix Jac I have the Jacobian of the system? >> >> >> Thanks in advance >> >> Marco >> >> _______________________________________________ >> Getfem-users mailing list >> [email protected] >> https://mail.gna.org/listinfo/getfem-users > > > -- > > Yves Renard ([email protected]) tel : (33) 04.72.43.87.08 > Pole de Mathematiques, INSA-Lyon fax : (33) 04.72.43.85.29 > 20, rue Albert Einstein > 69621 Villeurbanne Cedex, FRANCE > http://math.univ-lyon1.fr/~renard > > --------- > _______________________________________________ Getfem-users mailing list [email protected] https://mail.gna.org/listinfo/getfem-users
