getfem-commits
[Top][All Lists]
Advanced

[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);




reply via email to

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