Véronique Pham <[email protected]> a écrit :
> Hi everyone,
>
> I would like to ask an other question about the assembling using the getfem
> generic_assembly procedure.
> I'm trying to solve that kind of equation : eta*u ? \delta u = f, where eta
> is a real type constant.
>
> What is the best way to introduce this constant into the assembly process?
> I?m thinking of using the ?generic mass matrix assembly with an additional
> parameter? of the library. The code should be :
>
> {
> getfem::generic_assembly assem;
> assem.push_mi(mim);
> assem.push_mf(mf_u);
> assem.push_data(std::vector<T>(mf_u.nb_dof(),eta));
> assem.push_mat(A);
> assem.set("F=data(#1);"
>
> "M(#1,#1)+=sym(comp(Base(#1).Base(#1).Base(#1))(:,:,i).F(i));");
> assem.assembly();
> }
You can either push a vector with only one component
getfem::generic_assembly assem;
assem.push_mi(mim);
assem.push_mf(mf_u);
assem.push_data(std::vector<T>(1,eta));
assem.push_mat(A);
assem.set("F=data(1);"
"M(#1,#1)+=sym(comp(Base(#1).Base(#1))(:,:).F(p));");
assem.assembly();
either simply multiply the resulting matrix by eta with
gmm::scale(A, eta);
Yves.
>
> Instead of using ?assem.push_data(std::vector<T>(mf_u.nb_dof(),eta))? part,
> which is ineficient, should I create a mesh with a big quad element and a P0
> shape function?
>
> Thanks for your help.
>
> Veronique.
>
_______________________________________________
Getfem-users mailing list
[email protected]
https://mail.gna.org/listinfo/getfem-users