getfem-commits
[Top][All Lists]
Advanced

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

[Getfem-commits] [getfem-commits] branch master updated: Fix bug in asse


From: Konstantinos Poulios
Subject: [Getfem-commits] [getfem-commits] branch master updated: Fix bug in assembly with integration point variables on element faces
Date: Mon, 23 Jan 2023 16:27:40 -0500

This is an automated email from the git hooks/post-receive script.

logari81 pushed a commit to branch master
in repository getfem.

The following commit(s) were added to refs/heads/master by this push:
     new 26c9792a Fix bug in assembly with integration point variables on 
element faces
26c9792a is described below

commit 26c9792a39828f654f126b4d28810161d8686e57
Author: Konstantinos Poulios <logari81@gmail.com>
AuthorDate: Mon Jan 23 22:27:30 2023 +0100

    Fix bug in assembly with integration point variables on element faces
---
 src/getfem_generic_assembly_compile_and_exec.cc | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/src/getfem_generic_assembly_compile_and_exec.cc 
b/src/getfem_generic_assembly_compile_and_exec.cc
index a7ec2bd5..e5517f49 100644
--- a/src/getfem_generic_assembly_compile_and_exec.cc
+++ b/src/getfem_generic_assembly_compile_and_exec.cc
@@ -4214,7 +4214,7 @@ namespace getfem {
     virtual int exec() {
       GA_DEBUG_INFO("Instruction: vector term assembly for im_data variable");
       size_type cv = ctx.convex_num();
-      size_type i = t.size() * imd.filtered_index_of_point(cv, ipt);
+      size_type i = t.size() * imd.filtered_index_of_point(cv, ctx.ii());
       GMM_ASSERT1(i+t.size() <= I.size(),
                   "Internal error "<<i<<"+"<<t.size()<<" <= "<<I.size());
       auto itw = V.begin() + I.first() + i;
@@ -4280,7 +4280,7 @@ namespace getfem {
       GA_DEBUG_INFO("Instruction: extract residual for im_data variable");
       size_type ifirst = I.first();
       size_type cv = ctx.convex_num();
-      size_type i = t.size() * imd.filtered_index_of_point(cv, ipt);
+      size_type i = t.size() * imd.filtered_index_of_point(cv, ctx.ii());
       GMM_ASSERT1(i+t.size() <= I.size(),
                   "Internal error "<<i<<"+"<<t.size()<<" <= "<<I.size());
       for (auto &&val : t.as_vector())
@@ -4681,7 +4681,7 @@ namespace getfem {
       size_type s1 = t.sizes()[0], s2 = t.sizes()[1];
       size_type cv1 = ctx1.convex_num(), cv2 = ctx2.convex_num();
       size_type ifirst1 = I1->first(), ifirst2 = I2->first();
-      if (imd1) ifirst1 += s1 * imd1->filtered_index_of_point(cv1, ipt);
+      if (imd1) ifirst1 += s1 * imd1->filtered_index_of_point(cv1, ctx1.ii());
 
       populate_contiguous_dofs_vector(dofs1, s1, ifirst1); // --> dofs1
       size_type qmult2 = mf2->get_qdim();
@@ -4743,7 +4743,7 @@ namespace getfem {
       size_type s1 = t.sizes()[0], s2 = t.sizes()[1];
       size_type cv1 = ctx1.convex_num(), cv2 = ctx2.convex_num();
       size_type ifirst1 = I1->first(), ifirst2 = I2->first();
-      if (imd2) ifirst2 += s2 * imd2->filtered_index_of_point(cv2, ipt);
+      if (imd2) ifirst2 += s2 * imd2->filtered_index_of_point(cv2, ctx2.ii());
 
       size_type qmult1 = mf1->get_qdim();
       if (qmult1 > 1) qmult1 /= mf1->fem_of_element(cv1)->target_dim();
@@ -4803,9 +4803,9 @@ namespace getfem {
       size_type s1 = t.sizes()[0], s2 = t.sizes()[1];
       size_type ifirst1 = I1.first(), ifirst2 = I2.first();
       if (imd1)
-        ifirst1 += s1 * imd1->filtered_index_of_point(ctx1.convex_num(), ipt);
+        ifirst1 += s1 * imd1->filtered_index_of_point(ctx1.convex_num(), 
ctx1.ii());
       if (imd2)
-        ifirst2 += s2 * imd2->filtered_index_of_point(ctx2.convex_num(), ipt);
+        ifirst2 += s2 * imd2->filtered_index_of_point(ctx2.convex_num(), 
ctx2.ii());
 
       populate_contiguous_dofs_vector(dofs2, s2, ifirst2);
       add_elem_matrix_contiguous_rows(K, ifirst1, s1, dofs2, elem, ninf*1E-14);



reply via email to

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