|
From: | Yves Renard |
Subject: | Re: [Getfem-users] Getfem-users Digest, Vol 86, Issue 4 |
Date: | Wed, 09 Oct 2013 12:41:35 +0200 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130330 Thunderbird/17.0.5 |
Dear Marco, A small fix: generic_assembly assem; assem.set("A=data$1(qdim(#1),qdim(#1),#2); B=data$2(qdim(#1),qdim(#1),#2); C=data$3(qdim(#1),qdim(#1),#2); M(#1,#1)+=comp(Base(#2).Base(#2).Base(#2).vBase(#1).vBase(#1))(k,l,m,:,i,:,j).A(j,o,k).B(o,p,l).C(p,q,m);"); assem.push_mi(mim); assem.push_mf(mf_u1); assem.push_mf(mf_data); assem.push_vec(A); assem.push_vec(B); assem.push_vec(C); assem.push_mat(M); assem.assembly(rg); And to answer to your question, you can declare vectors A,B,C simply as std::vector<scalar_type> A(nn), B(nn), C(nn); with nn = mf_data.nb_dof() * d * d, d being the dimensions. The matrices has to be stored in Fortran order inside the vectors and dof by dof. Yves. Le 09/10/2013 12:33, Marco Pischedda a écrit :
-- Yves Renard (address@hidden) 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 --------- |
[Prev in Thread] | Current Thread | [Next in Thread] |