[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Getfem-commits] (no subject)
From: |
Konstantinos Poulios |
Subject: |
[Getfem-commits] (no subject) |
Date: |
Thu, 29 Sep 2022 08:16:09 -0400 (EDT) |
branch: master
commit f50e3cbab06ca59e87decb0aea6f4fdfa1cf1b4c
Author: Konstantinos Poulios <logari81@gmail.com>
AuthorDate: Thu Sep 29 14:15:54 2022 +0200
Allow integration point variables for GWFL assembly in the scripting
interface
---
interface/src/gf_asm.cc | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/interface/src/gf_asm.cc b/interface/src/gf_asm.cc
index a223b15e..1824fe01 100644
--- a/interface/src/gf_asm.cc
+++ b/interface/src/gf_asm.cc
@@ -488,7 +488,9 @@ static void do_high_level_generic_assembly(mexargs_in& in,
mexargs_out& out) {
nbdof += mf->nb_dof();
workspace.add_fem_variable(varname, *mf, I, vectors[varname]);
} else if (mimd) {
- THROW_BADARG("Data defined on integration points can not be a
variable");
+ gmm::sub_interval I(nbdof, mimd->nb_filtered_index());
+ nbdof += mimd->nb_filtered_index();
+ workspace.add_im_variable(varname, *mimd, I, vectors[varname]);
} else {
gmm::sub_interval I(nbdof, U.size());
nbdof += U.size();
@@ -604,7 +606,7 @@ static void do_expression_analysis(mexargs_in& in,
mexargs_out& out) {
if (mf)
workspace.add_fem_variable(varname, *mf, dummy_I, dummy_V);
else if (mimd) {
- THROW_BADARG("Data defined on integration points can not be a
variable");
+ workspace.add_im_variable(varname, *mimd, dummy_I, dummy_V);
} else
workspace.add_fixed_size_variable(varname, dummy_I, dummy_V);
}