getfem-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Getfem-users] boundary source term


From: Iago Barbeiro
Subject: [Getfem-users] boundary source term
Date: Sun, 22 Feb 2009 13:11:01 -0300

Dear getfem users,

I am now trying to build a generic assembling template to integrate a specific source term in a boundary.
It doesn't seem to be complicated but Iam missing something..

Here are the variables:

U: 2d vector field to be pushed as data, (mf_u : FEM_PK(2,2), mf_u.qdim()=2).
N: unit vector normal to the boundary (extern normal) (a 2d vector?)
dp: scalar field (mf_p : FEM_PK(2,2), mf_p.qdim()=1).

The source term to be integrated over the boundaries:

f_i=(U.N).dp_i

And here is the piece of code I am trying to make:

    template<typename VECT1, typename VECT2>
        void asm_Fbc_source_term(VECT1 &F, const mesh_im &mim, const mesh_fem &mf,
                    const mesh_fem &mf_data, const VECT2 &D,
                    const mesh_region &rg) {
        GMM_ASSERT1(mf_data.get_qdim() == 2, "invalid data mesh_fem");

        generic_assembly assem;
       
        assem.set("d=data(#2);"
              "V(#1)+=comp(vBase(#2)(i,j).Normal()(j).Base(#1)(:)).d(i);");
        assem.push_mi(mim);
        assem.push_mf(mf);
        assem.push_mf(mf_data);
        assem.push_data(D);
        assem.push_vec(F);
        assem.assembly(rg);
      
    }

In the first test I had the following message:

============================================
|      An error has been detected !!!      |
============================================
Error in getfem_mat_elem.cc, line 121 :
Exact integration not allowed in this context

And then, changing the integration method (mim) from "IM_EXACT_SIMPLEX(2)" to "IM_NC(2,6)" (newton-cotes of degree 6 on triangles) I started havin this new message:

getfem_assembling_tensors.cc:145: void getfem::ATN_reduced_tensor::update_childs_required_shape(): Assertion `rn.size() == s.size()' failed.
Aborted

Do you guys have any idea what I am doing bad here??

Thanks for your attention,

Iago Barbeiro


reply via email to

[Prev in Thread] Current Thread [Next in Thread]