I'm sorry to bother you again, but a couple of questions raised. Some of the blocks are symmetric, so in my matrix i'll have the transposed corresponding block. Do I need to create the transposed block too with the command gf_asm('generic' ...) or it's going to do it by himself?
Also, >From the equation, I have a term comprendig a test function and some static initial data defined in the whole mesh, but no variables ('A*test_pv'). This term is gonig to be in the Right Hand Side of the linear system. Now, my question is: which one of the functions (gf_asm('function', ...)) is the correct one to use? Is again 'generic' going to understand it? Right now i bet on 'volumic source', but i defined nowhere which test function i'm using, so i'm not so sure about that. Thank you for your help and your time. Have a nice day, Nicolò Cambiaso Il giorno mer 2 ott 2019 alle ore 09:37 Nicolò Cambiaso < cambiaso.nic...@gmail.com> ha scritto: > Thank you very much, now it works. > to completeness to the future readers, I would like to correct a typo I > made when asking for the command. > K= --equation-- > gf_model_set(md, 'add initialized data', 'K', [K]); > gf_asm('generic', mim3, 2, 'K*(Test_ut.*ut)', -1, 'ut', 1, mf3, > zeros(gf_mesh_fem_get(mf3, 'nbdof'),1), 'K' , 0, K); > > Again, thank you, > Have a nice day > Nicolò Cambiaso > > Il giorno lun 30 set 2019 alle ore 22:19 Yves Renard < > yves.ren...@insa-lyon.fr> ha scritto: > >> >> Dear Nicolo Cambiaso, >> >> You can use gf_asm to produce a mass matrix as you tried, but you have to >> specify a fem on which the variable is described. The correct syntax is for >> instance >> >> gf_asm('generic', mim3, 2, 'Grad_Test2_ut.Grad_Test_ut', -1, 'ut',1, mf, >> zero(gf_mesh_fem_get(mf, 'nbdof'),1)); >> >> where mf is the mesh_fem structure describing the fem. >> >> Best regards, >> >> Y.R. >> >> ----- Mail original ----- >> De: "Nicolò Cambiaso" <cambiaso.nic...@gmail.com> >> À: "getfem-users" <getfem-users@nongnu.org> >> Envoyé: Lundi 30 Septembre 2019 12:25:51 >> Objet: [Getfem-users] Generic Bricks definition using gf_asm. >> >> Dear users, >> I would like to solve a system of equations using Getfemm++ with Matlab >> interface. >> So I created a block matrix, and now i cannot create the corresponding >> bricks. >> I'm using the command "gf_asm", hoping it's the correct one. >> >> the block is the following: >> Mtt=1/k u_t v_t. (v_t is the test function corresponding to u_t) >> in full despair, i also removed the 1/k therm, and still nothing worked. >> this is what i wrote: >> >> gf_asm('generic', mim3, 2, 'Grad_Test2_ut.Grad_Test_ut', -1, 'ut',1, U); >> >> And the error message is: >> >> "Error using gf_matlab >> Error in getfem_generic_assembly.cc, line 9519 void >> getfem::ga_node_analysis(const string&, getfem::ga_tree&, const >> getfem::ga_workspace&, getfem::pga_tree_node, bgeot::size_type, >> bgeot::size_type, bool, bool, int): >> Error in assembly string >> >> Error in gf_asm (line 338) >> [varargout{1:nargout}]=gf_matlab('asm', varargin{:}); >> >> Error in Comeon (line 56) >> Mtt=gf_asm('generic', mim3, 2, 'Grad_Test2_ut.Grad_Test_ut', -1, 'ut',1, >> U); % M_tt, proviamo" >> >> with >> mim3= gf_mesh_im( mf3, gf_integ('IM_NC(3,1)') ) >> mf3=gf_mesh_fem(OmegaM,3) >> OmegaM=gf_mesh('regular simplices',vectX, vectY, vectZ, 'degree', 1) >> >> at his point, i defined U as ones(2,2,2,3), having the vectX(/Y/Z) only 2 >> points each one, for now, and because u_t is a 3D vector. >> I think that's not correct, but i have no idea of the correct dimension of >> U, and i tried everything that came to my mind ... and still nothing >> worked. >> >> I found a lot of material dealing with this on c++ interface, but >> unfortunately I cannot male it work in Matlab. >> >> thank you very much, >> Nicolo Cambiaso. >> >