[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Getfem-commits] r4955 - in /trunk/getfem: interface/src/matlab/ interfa
From: |
Yves . Renard |
Subject: |
[Getfem-commits] r4955 - in /trunk/getfem: interface/src/matlab/ interface/tests/matlab/ src/ |
Date: |
Wed, 15 Apr 2015 07:24:00 -0000 |
Author: renard
Date: Wed Apr 15 09:23:59 2015
New Revision: 4955
URL: http://svn.gna.org/viewcvs/getfem?rev=4955&view=rev
Log:
minor corrections and including refine test in matlab tests
Modified:
trunk/getfem/interface/src/matlab/gfm_mex.c
trunk/getfem/interface/tests/matlab/check_all.m
trunk/getfem/interface/tests/matlab/demo_refine.m
trunk/getfem/src/getfem_models.cc
Modified: trunk/getfem/interface/src/matlab/gfm_mex.c
URL:
http://svn.gna.org/viewcvs/getfem/trunk/getfem/interface/src/matlab/gfm_mex.c?rev=4955&r1=4954&r2=4955&view=diff
==============================================================================
--- trunk/getfem/interface/src/matlab/gfm_mex.c (original)
+++ trunk/getfem/interface/src/matlab/gfm_mex.c Wed Apr 15 09:23:59 2015
@@ -124,11 +124,7 @@
unsigned i;
if (nlhs == 0 && outl->arg.arg_len > 0) { /* not very nice */
mxArray *mx = gfi_array_to_mxarray(&outl->arg.arg_val[0]);
-#if MATLAB_RELEASE == 12
- mexPutArray(mx, "caller"); mxSetName(mx,"ans");
-#else
mexPutVariable("caller", "ans", mx);
-#endif
}
for (i=0; i < outl->arg.arg_len; ++i) {
plhs[i] = gfi_array_to_mxarray(&outl->arg.arg_val[i]);
Modified: trunk/getfem/interface/tests/matlab/check_all.m
URL:
http://svn.gna.org/viewcvs/getfem/trunk/getfem/interface/tests/matlab/check_all.m?rev=4955&r1=4954&r2=4955&view=diff
==============================================================================
--- trunk/getfem/interface/tests/matlab/check_all.m (original)
+++ trunk/getfem/interface/tests/matlab/check_all.m Wed Apr 15 09:23:59 2015
@@ -114,6 +114,15 @@
errcnt=errcnt+1; disp(['== ' t ': FAILURE']);
end;
+t = 'demo_refine [adaptative refinement for an elastostatic problem] ';
+try
+ automatic_var654 = 1;
+ demo_refine;
+ disp(['== ' t ': SUCCESS']);
+catch
+ errcnt=errcnt+1; disp(['== ' t ': FAILURE']);
+end;
+
if (errcnt),
disp(sprintf('\n\n== %d/11 tests FAILED\n', errcnt));
Modified: trunk/getfem/interface/tests/matlab/demo_refine.m
URL:
http://svn.gna.org/viewcvs/getfem/trunk/getfem/interface/tests/matlab/demo_refine.m?rev=4955&r1=4954&r2=4955&view=diff
==============================================================================
--- trunk/getfem/interface/tests/matlab/demo_refine.m (original)
+++ trunk/getfem/interface/tests/matlab/demo_refine.m Wed Apr 15 09:23:59 2015
@@ -22,6 +22,12 @@
%clear all; clf;
L=100; H=22;
N=2;
+draw = true;
+
+asize = size(who('automatic_var654'));
+if (asize(1)) draw = false; end;
+
+
if (N == 2), % 2D beam
m=gfMesh('regular simplices',0:10:L, 0:11:H);
mim=gfMeshIm(m); set(mim, 'integ',gfInteg('IM_TRIANGLE(6)'));
@@ -70,19 +76,30 @@
subplot(2,1,1);
if (N==3) opt = {'cvlst', get(m,'outer_faces')};
else opt = {}; end;
- gf_plot(mfdu,VM,'deformed_mesh','on', 'deformation',U,...
- 'deformation_mf',mfu,'refine', 4, 'deformation_scale',1, opt{:});
- gf_colormap('chouette');
- caxis([0 1e7]); colorbar;
- title('Von Mises stress');
+
+ if (draw)
+ gf_plot(mfdu,VM,'deformed_mesh','on', 'deformation',U,...
+ 'deformation_mf',mfu,'refine', 4, 'deformation_scale',1, opt{:});
+ gf_colormap('chouette');
+ caxis([0 1e7]); colorbar;
+ title('Von Mises stress');
+ end
dd=get(mf0, 'basic dof from cvid');
ERR=gf_compute(mfu,U,'error estimate', mim);
E=ERR; E(dd)=ERR;
- subplot(2,1,2);
- gf_plot(mf0, E, 'mesh','on', 'refine', 1, opt{:}); colorbar;
- title('Error estimate')
- disp('press a key..'); pause;
- set(m, 'refine', find(ERR > 1e-3));
+
+ if (draw)
+ subplot(2,1,2);
+ gf_plot(mf0, E, 'mesh','on', 'refine', 1, opt{:}); colorbar;
+ title('Error estimate')
+ pause(1.5);
+ end
+ set(m, 'refine', find(ERR > 0.1e-4));
set(m, 'optimize structure');
+ norm(E)
end;
+
+if (norm(E) > 0.005)
+ error('Refine test: final error to big');
+end
Modified: trunk/getfem/src/getfem_models.cc
URL:
http://svn.gna.org/viewcvs/getfem/trunk/getfem/src/getfem_models.cc?rev=4955&r1=4954&r2=4955&view=diff
==============================================================================
--- trunk/getfem/src/getfem_models.cc (original)
+++ trunk/getfem/src/getfem_models.cc Wed Apr 15 09:23:59 2015
@@ -632,8 +632,8 @@
it->second.is_disabled = true;
for (VAR_SET::iterator itv = variables.begin();
itv != variables.end(); ++itv) {
- if ((itv->second.filter == VDESCRFILTER_INFSUP ||
- itv->second.filter == VDESCRFILTER_CTERM)
+ if (((itv->second.filter & VDESCRFILTER_INFSUP) ||
+ (itv->second.filter & VDESCRFILTER_CTERM))
&& (name.compare(itv->second.filter_var) == 0)) {
itv->second.is_disabled = true;
}
@@ -647,8 +647,8 @@
it->second.is_disabled = false;
for (VAR_SET::iterator itv = variables.begin();
itv != variables.end(); ++itv) {
- if ((itv->second.filter == VDESCRFILTER_INFSUP||
- itv->second.filter == VDESCRFILTER_CTERM)
+ if (((itv->second.filter & VDESCRFILTER_INFSUP) ||
+ (itv->second.filter & VDESCRFILTER_CTERM))
&& (name.compare(itv->second.filter_var) == 0)) {
itv->second.is_disabled = false;
}
@@ -684,7 +684,7 @@
for(VAR_SET::iterator it2 = variables.begin();
it2 != variables.end(); ++it2) {
if (it2->second.is_fem_dofs &&
- it2->second.filter == VDESCRFILTER_INFSUP &&
+ (it2->second.filter & VDESCRFILTER_INFSUP) &&
mim == it2->second.mim) found = true;
}
if (!found) sup_dependency(*mim);
@@ -729,7 +729,7 @@
}
if (!found) sup_dependency(*mf);
- if (it->second.filter == VDESCRFILTER_INFSUP) {
+ if (it->second.filter & VDESCRFILTER_INFSUP) {
const mesh_im *mim = it->second.mim;
found = false;
for (dal::bv_visitor ibb(valid_bricks); !ibb.finished(); ++ibb) {
@@ -739,7 +739,7 @@
for(VAR_SET::iterator it2 = variables.begin();
it2 != variables.end(); ++it2) {
if (it != it2 && it2->second.is_fem_dofs &&
- it2->second.filter == VDESCRFILTER_INFSUP &&
+ (it2->second.filter & VDESCRFILTER_INFSUP) &&
mim == it2->second.mim) found = true;
}
if (!found) sup_dependency(*mim);
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Getfem-commits] r4955 - in /trunk/getfem: interface/src/matlab/ interface/tests/matlab/ src/,
Yves . Renard <=