Changeset 17227


Ignore:
Timestamp:
02/07/14 09:36:22 (11 years ago)
Author:
jbondzio
Message:

CHG: backup dump - to be reverted

Location:
issm/trunk-jpl
Files:
18 edited

Legend:

Unmodified
Added
Removed
  • TabularUnified issm/trunk-jpl/externalpackages/vim/addons/vimrc

    r17211 r17227  
    100100
    101101" save & "make" the current file in all modes
    102 map <F8> :w <Enter> :make <Enter><Enter>
    103 map! <F8>  <ESC> :w <Enter> :make <Enter><Enter>
     102map <F6> :w <Enter> :make <Enter><Enter>
     103map! <F6>  <ESC> :w <Enter> :make <Enter><Enter>
    104104" make update: nice for longer documents
    105 map <F7> :w <Enter> :make update <Enter><Enter>
    106 map! <F7> <ESC> :w <Enter> :make update <Enter><Enter>
     105map <F5> :w <Enter> :make update <Enter><Enter>
     106map! <F5> <ESC> :w <Enter> :make update <Enter><Enter>
     107
     108" switch between tabs
     109nmap <F7> :tabp <CR>
     110nmap <F8> :tabn <CR>
    107111
    108112
     
    141145  autocmd BufWritePost   *.sh         !chmod +x %
    142146
     147        " Commenting blocks of code.
     148        autocmd FileType c,cpp,java,scala let b:comment_leader = '// '
     149        autocmd FileType sh,ruby,python   let b:comment_leader = '# '
     150        autocmd FileType conf,fstab       let b:comment_leader = '# '
     151        autocmd FileType tex              let b:comment_leader = '% '
     152        autocmd FileType mail             let b:comment_leader = '> '
     153        autocmd FileType vim              let b:comment_leader = '" '
     154        noremap <silent> ,cc :<C-B>silent <C-E>s/^/<C-R>=escape(b:comment_leader,'\/')<CR>/<CR>:nohlsearch<CR>
     155        noremap <silent> ,cu :<C-B>silent <C-E>s/^\V<C-R>=escape(b:comment_leader,'\/')<CR>//e<CR>:nohlsearch<CR>
    143156endif " has("autocmd")
    144157" ----------------------------------------------------------------------}}}
  • TabularUnified issm/trunk-jpl/src/c/Makefile.am

    r17139 r17227  
    285285                                        ./modules/CreateNodalConstraintsx/CreateNodalConstraintsx.h\
    286286                                        ./modules/CreateNodalConstraintsx/CreateNodalConstraintsx.cpp\
     287                                        ./modules/SetActiveNodesLSMx/SetActiveNodesLSMx.h\
     288                                        ./modules/SetActiveNodesLSMx/SetActiveNodesLSMx.cpp\
    287289                                        ./modules/UpdateDynamicConstraintsx/UpdateDynamicConstraintsx.h\
    288290                                        ./modules/UpdateDynamicConstraintsx/UpdateDynamicConstraintsx.cpp\
  • TabularUnified issm/trunk-jpl/src/c/analyses/LevelsetAnalysis.cpp

    r17212 r17227  
    3333        iomodel->FetchDataToInput(elements,VxEnum);
    3434        iomodel->FetchDataToInput(elements,VyEnum);
    35        
     35        iomodel->FetchDataToInput(elements,IceMaskNodeActivationEnum);
    3636}
    3737/*}}}*/
     
    6767        bool save_results;
    6868
    69         /* extrapolate */
    70         Analysis* analysis = new ExtrapolationAnalysis();
    71         femmodel->parameters->SetParam(VxEnum,ExtrapolationVariableEnum);
    72         analysis->Core(femmodel);
    73         delete analysis;
    74 
    7569        /*activate formulation: */
    7670        femmodel->SetCurrentConfiguration(LevelsetAnalysisEnum);
    7771
     72        if(VerboseSolution()) _printf0_("call computational core:\n");
     73        solutionsequence_linear(femmodel);
     74
    7875        /*recover parameters: */
    7976        femmodel->parameters->FindParam(&save_results,SaveResultsEnum);
    80 
    81         if(VerboseSolution()) _printf0_("call computational core:\n");
    82         solutionsequence_linear(femmodel);
    83 
    8477        if(save_results){
    8578                if(VerboseSolution()) _printf0_("   saving results\n");
     
    328321}/*}}}*/
    329322
     323/* Update of constraints */
     324// void LevelsetAnalysis::UpdateNoIceConstraints(FemModel* femmodel){/*{{{*/
     325//
     326//      IssmDouble* mask_ice = GetMaskOfIce(femmodel->elements, femmodel->nodes);
     327//
     328//      for (int i=0;i<femmodel->nodes->Size();i++){
     329//              Node* node=dynamic_cast<Node*>(femmodel->nodes->GetObjectByOffset(i));
     330//              if(node->InAnalysis(LevelsetAnalysisEnum)){
     331//                      if(mask_ice[node->Sid()]==1.){//FIXME: what should be done with actual spcs to ice model?
     332// //                           node->DofInFSet(0); /*remove spc*/
     333//                      }
     334//                      else{
     335//                              IssmDouble defval=0.;
     336//                              node->ApplyConstraint(1,defval); /*apply spc*/
     337//                      }
     338//              }
     339//      }
     340// }/*}}}*/
     341// IssmDouble* LevelsetAnalysis::GetMaskOfIce(Elements* elements, Nodes* nodes){/*{{{*/
     342//
     343//      int                 i;
     344//      IssmDouble*         mask_ice      = NULL;
     345//      Vector<IssmDouble>* vec_mask_ice  = NULL;
     346//      Element*            element       = NULL;
     347//
     348//      /*Initialize vector with number of vertices*/
     349//      IssmDouble numnodes=nodes->NumberOfNodes(LevelsetAnalysisEnum);
     350//      vec_mask_ice=new Vector<IssmDouble>(numnodes); //nodes at ice front that have ice at next time step
     351//      for(i=0;i<numnodes;i++)
     352//              vec_mask_ice[i]=0.;
     353//      /*Fill vector vertices that have no contact to ice: */
     354//      for(i=0;i<elements->Size();i++){
     355//              element=dynamic_cast<Element*>(elements->GetObjectByOffset(i));
     356//              SetMaskOfIceElement(vec_mask_ice, element);
     357//      }
     358//
     359//      /*Assemble vector and serialize */
     360//      vec_mask_ice->Assemble();
     361//      mask_ice=vec_mask_ice->ToMPISerial();
     362//      delete vec_mask_ice;
     363//      return mask_ice;
     364//
     365// }/*}}}*/
     366// void LevelsetAnalysis::SetMaskOfIceElement(Vector<IssmDouble>* vec_mask_ice, Element* element){/*{{{*/
     367//
     368//      /* Intermediaries */
     369//      int numnodes = element->GetNumberOfNodes();
     370//     
     371//      if(element->IsIceInElement()){
     372//              for(int i = 0;i<numnodes;i++){
     373//                      vec_mask_ice->SetValue(element->nodes[i]->Sid(),1.,INS_VAL);
     374//              }
     375//      }
     376// }/*}}}*/
  • TabularUnified issm/trunk-jpl/src/c/analyses/LevelsetAnalysis.h

    r17212 r17227  
    3232        void GetBprime(IssmDouble* Bprime,Element* element,IssmDouble* xyz_list,Gauss* gauss);
    3333
     34        /* Updating constraints */
     35//      void UpdateNoIceConstraints(FemModel* femmodel);
     36//      IssmDouble* GetMaskOfIce(Elements* elements, Nodes* nodes);
     37//      void SetMaskOfIceElement(Vector<IssmDouble>* vec_mask_ice, Element* element);
    3438};
    3539#endif
  • TabularUnified issm/trunk-jpl/src/c/analyses/StressbalanceAnalysis.cpp

    r17212 r17227  
    189189        iomodel->FetchDataToInput(elements,LoadingforceYEnum);
    190190        iomodel->FetchDataToInput(elements,DamageDEnum);
     191        iomodel->FetchDataToInput(elements,IceMaskNodeActivationEnum);
     192
    191193
    192194        if(iomodel->meshtype==Mesh3DEnum){
     
    10241026}/*}}}*/
    10251027void StressbalanceAnalysis::UpdateConstraints(FemModel* femmodel){/*{{{*/
    1026         /*Default, do nothing*/
     1028        SetActiveNodesLSMx(femmodel->elements);
    10271029        return;
    10281030}/*}}}*/
     
    11431145        delete Ke1;
    11441146        delete Ke2;
     1147       
     1148        // FIXME: TESTING
     1149//      _printf0_("\n element ID: " << element->Id() << ";\n");
     1150//      Ke->Echo();
    11451151        return Ke;
    11461152}/*}}}*/
     
    12651271                newviscosity=viscosity+viscosity_overshoot*(viscosity-oldviscosity);
    12661272                D_scalar=2.*newviscosity*thickness*gauss->weight*Jdet;
     1273               
     1274//              _printf0_("element, node, weight, Jdet: " << element->Id() << "; " << ig << "; " << gauss->weight << "; " << Jdet << "\n");
     1275
    12671276                for(int i=0;i<3;i++) D[i*3+i]=D_scalar;
    12681277
     
    13151324        delete pe1;
    13161325        delete pe2;
     1326
     1327//      _printf0_("\n element ID: " << element->Id() << ";\n");
     1328//      pe->Echo();
     1329
    13171330        return pe;
    13181331}/*}}}*/
     
    13721385
    13731386        /*If no front, return NULL*/
    1374         if(!element->IsZeroLevelset(MaskIceLevelsetEnum)) return NULL;
     1387        if(!element->IsIcefront()) return NULL;
    13751388
    13761389        /*Intermediaries*/
     
    13951408        IssmDouble gravity     = element->GetMaterialParameter(ConstantsGEnum);
    13961409        element->GetVerticesCoordinates(&xyz_list);
    1397         element->ZeroLevelsetCoordinates(&xyz_list_front,xyz_list,MaskIceLevelsetEnum);
     1410
     1411//      element->ZeroLevelsetCoordinates(&xyz_list_front,xyz_list,MaskIceLevelsetEnum);
     1412        element->GetIcefrontCoordinates(&xyz_list_front,xyz_list,MaskIceLevelsetEnum);
     1413
    13981414        element->NormalSection(&normal[0],xyz_list_front);
     1415//      element->GetNormalFromLSF(&normal[0]);
    13991416
    14001417        /*Start looping on Gaussian points*/
     
    17851802
    17861803        /*If no front, return NULL*/
    1787         if(!element->IsZeroLevelset(MaskIceLevelsetEnum)) return NULL;
     1804        if(!element->IsIcefront()) return NULL;
    17881805
    17891806        /*Intermediaries*/
     
    22082225
    22092226        /*If no front, return NULL*/
    2210         if(!element->IsZeroLevelset(MaskIceLevelsetEnum)) return NULL;
     2227        if(!element->IsIcefront()) return NULL;
    22112228
    22122229        /*Intermediaries*/
     
    29742991
    29752992        /*If no front, return NULL*/
    2976         if(!element->IsZeroLevelset(MaskIceLevelsetEnum)) return NULL;
     2993        if(!element->IsIcefront()) return NULL;
    29772994
    29782995        /*Intermediaries*/
  • TabularUnified issm/trunk-jpl/src/c/classes/Elements/Element.h

    r17210 r17227  
    220220                virtual int    PressureInterpolation()=0;
    221221                virtual bool   IsZeroLevelset(int levelset_enum)=0;
     222                virtual bool   IsIcefront(void)=0;
    222223                virtual void   ZeroLevelsetCoordinates(IssmDouble** pxyz_zero,IssmDouble* xyz_list,int levelsetenum)=0;
    223224                virtual void   GetIcefrontCoordinates(IssmDouble** pxyz_front,IssmDouble* xyz_list,int levelsetenum)=0;
  • TabularUnified issm/trunk-jpl/src/c/classes/Elements/Penta.h

    r17210 r17227  
    114114                int    PressureInterpolation();
    115115                bool   IsZeroLevelset(int levelset_enum);
     116                bool   IsIcefront(void){_error_("not implemented yet");};
    116117                void   ZeroLevelsetCoordinates(IssmDouble** pxyz_zero,IssmDouble* xyz_list,int levelsetenum);
    117118                void   GetIcefrontCoordinates(IssmDouble** pxyz_front,IssmDouble* xyz_list,int levelsetenum){_error_("not implemented yet");};
  • TabularUnified issm/trunk-jpl/src/c/classes/Elements/Seg.h

    r17210 r17227  
    159159                void        ViscousHeating(IssmDouble* pphi,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input,Input* vz_input){_error_("not implemented yet");};
    160160                bool        IsZeroLevelset(int levelset_enum){_error_("not implemented");};
     161                bool            IsIcefront(void){_error_("not implemented yet");};
    161162                void        ZeroLevelsetCoordinates(IssmDouble** pxyz_zero,IssmDouble* xyz_list,int levelsetenum){_error_("not implemented");};
    162163                void            GetIcefrontCoordinates(IssmDouble** pxyz_front,IssmDouble* xyz_list,int levelsetenum){_error_("not implemented yet");};
  • TabularUnified issm/trunk-jpl/src/c/classes/Elements/Tria.cpp

    r17210 r17227  
    909909                }
    910910        }
    911 
     911        _assert_(nrfrontnodes==2);
     912       
     913        /* arrange order of frontnodes such that they are oriented counterclockwise */
     914        if((NUMVERTICES+indicesfront[0]-indicesfront[1])%NUMVERTICES!=2){
     915                int index=indicesfront[0];
     916                indicesfront[0]=indicesfront[1];
     917                indicesfront[1]=index;
     918        }
    912919        IssmDouble* xyz_front = xNew<IssmDouble>(3*nrfrontnodes);
    913920        /* Return nodes */
    914921        for(i=0;i<nrfrontnodes;i++){
    915922                for(dir=0;dir<3;dir++){
    916                         xyz_front[3*i+dir]=xyz_list[indicesfront[i]+dir];
    917                 }
    918         }
     923                        xyz_front[3*i+dir]=xyz_list[3*indicesfront[i]+dir];
     924                }
     925        }
     926
     927//      for(i=0;i<nrfrontnodes;i++){
     928//              _printf0_("coords frontnode " << i << " :[");
     929//              for(dir=0;dir<3;dir++){
     930//                      xyz_front[3*i+dir]=xyz_list[indicesfront[i]+dir];
     931//                      _printf0_(xyz_front[3*i+dir] << "; ");
     932//              }
     933//              _printf0_("]\n");
     934//      }
    919935
    920936        *pxyz_front=xyz_front;
     
    922938        xDelete<int>(indicesfront);
    923939}/*}}}*/
    924 void  Tria::GetNormalFromLSF(IssmDouble *pnormal){/*{{{*/
     940void  Tria::GetNormalFromLSF(IssmDouble *normal){/*{{{*/
    925941
    926942        /* Intermediaries */
     
    929945        IssmDouble* xyz_list = NULL;
    930946        IssmDouble  dlevelset[dim], norm_dlevelset;
    931         IssmDouble  normal[dim]={0.};
    932947
    933948        /*Retrieve all inputs and parameters*/
     
    936951       
    937952        counter=0;
     953        for(i=0;i<dim;i++) normal[i]=0.;
     954
    938955        Gauss* gauss = this->NewGauss(2);
    939956        for(int ig=gauss->begin();ig<gauss->end();ig++){
     
    947964        }
    948965        _assert_(counter>0);
    949         for(i=0;i<dim;i++) normal[i]/counter;
    950        
    951         pnormal=&normal[0];
     966        for(i=0;i<dim;i++) normal[i]/=IssmDouble(counter);
    952967
    953968        delete gauss;
     
    16101625                                name==MaskGroundediceLevelsetEnum ||
    16111626                                name==MaskIceLevelsetEnum ||
     1627                                name==IceMaskNodeActivationEnum ||
    16121628                                name==SurfaceSlopeXEnum ||
    16131629                                name==SurfaceSlopeYEnum ||
     
    25862602        GetInputListOnVertices(&ls[0],levelset_enum);
    25872603
    2588         /*If the level set is awlays <0, there is no ice front here*/
     2604        /* If levelset function changes sign, or is zero on at least two vertices, there is a zero level set here */
    25892605        iszerols= false;
    25902606        if(IsIceInElement()){
     
    25972613}
    25982614/*}}}*/
     2615/*FUNCTION Tria::IsIcefront{{{*/
     2616bool Tria::IsIcefront(void){
     2617
     2618        bool isicefront;
     2619        int i,nrice;
     2620        IssmDouble ls[NUMVERTICES];
     2621
     2622        /*Retrieve all inputs and parameters*/
     2623        GetInputListOnVertices(&ls[0],MaskIceLevelsetEnum);
     2624
     2625        /* If only one vertex has ice, there is an ice front here */
     2626        isicefront= false;
     2627        if(IsIceInElement()){
     2628                nrice=0;       
     2629                for(i=0;i<NUMVERTICES;i++)
     2630                        if(ls[i]<0.) nrice++;
     2631                if(nrice==1) isicefront= true;
     2632        }
     2633        return isicefront;
     2634}
     2635/*}}}*/
     2636
    25992637
    26002638#ifdef _HAVE_RESPONSES_
  • TabularUnified issm/trunk-jpl/src/c/classes/Elements/Tria.h

    r17210 r17227  
    132132                void        ZeroLevelsetCoordinates(IssmDouble** pxyz_zero,IssmDouble* xyz_list,int levelsetenum);
    133133                void        GetIcefrontCoordinates(IssmDouble** pxyz_front,IssmDouble* xyz_list,int levelsetenum);
    134             void        GetNormalFromLSF(IssmDouble *pnormal);
     134                void        GetNormalFromLSF(IssmDouble *normal);
    135135                bool        IsZeroLevelset(int levelset_enum);
     136                bool        IsIcefront(void);
    136137
    137138                #ifdef _HAVE_RESPONSES_
  • TabularUnified issm/trunk-jpl/src/c/classes/FemModel.cpp

    r17210 r17227  
    406406        /*start module: */
    407407        if(VerboseModule()) _printf0_("   Updating constraints for time: " << time << "\n");
    408 
    409         // analysis->UpdateConstraints();
    410        
     408        if(VerboseModule()) _printf0_("   and analysis: " << EnumToStringx(analysis_type) << "\n");
     409        Analysis* analysis = EnumToAnalysis(analysis_type);
     410        _assert_(analysis);
     411//      analysis->UpdateConstraints(this);
     412        delete analysis;
     413
    411414        /*Second, constraints might be time dependent: */
    412415        SpcNodesx(nodes,constraints,parameters,analysis_type);
  • TabularUnified issm/trunk-jpl/src/c/cores/transient_core.cpp

    r17210 r17227  
    162162                if(islevelset){
    163163                        if(VerboseSolution()) _printf0_("   computing movement of ice boundaries\n");
    164                         analysis = new LevelsetAnalysis();
    165                         analysis->Core(femmodel);
    166                         delete analysis;
     164
     165                        /* extrapolate */
     166                        Analysis* extanalysis = new ExtrapolationAnalysis();
     167                        int vars[2] = {VxEnum, VyEnum};
     168                        for(int iv=0; iv<2;iv++){
     169                                femmodel->parameters->SetParam(vars[iv],ExtrapolationVariableEnum);
     170                                extanalysis->Core(femmodel);
     171                        }
     172                        delete extanalysis;
     173
     174                        LevelsetAnalysis* lsanalysis = new LevelsetAnalysis();
     175                        /* solve level-set equation */
     176                        lsanalysis->Core(femmodel);
     177                        delete lsanalysis;
     178
     179                        /* update vertices included for next calculation */
     180                        GetMaskOfIceVerticesLSMx(femmodel);
    167181                }
    168182
  • TabularUnified issm/trunk-jpl/src/c/modules/SystemMatricesx/SystemMatricesx.cpp

    r17001 r17227  
    119119        //Kfs->AllocationInfo();
    120120
     121        // TESTING
     122        IssmDouble* Kffd=Kff->ToSerial();
     123        Kff->GetSize(&M,&N);
     124        _printf0_(" (Kff stiffness matrix size: "<<M<<" x "<<N<<")\n");
     125//      printarray(Kffd,M,N);
     126   for(int row=0;row<M;row++){
     127                IssmDouble value = Kffd[row*N + row];
     128                if(fabs(value)<1.)
     129                 _printf0_("Kff(" << row << "," << row << ")=" << value << "\n");
     130         }
     131        delete Kffd;
     132       
     133
    121134        /*cleanu up and assign output pointers: */
    122135        delete analysis;
  • TabularUnified issm/trunk-jpl/src/c/modules/modules.h

    r17085 r17227  
    3131#include "./GetVectorFromControlInputsx/GetVectorFromControlInputsx.h"
    3232#include "./GiaDeflectionCorex/GiaDeflectionCorex.h"
     33#include "./SetActiveNodesLSMx/SetActiveNodesLSMx.h"
    3334#include "./SetControlInputsFromVectorx/SetControlInputsFromVectorx.h"
    3435#include "./Gradjx/Gradjx.h"
  • TabularUnified issm/trunk-jpl/src/m/dev/devpath.py

    r17075 r17227  
    2525from plotmodel import plotmodel
    2626
    27 #c = get_ipython().config
    28 #c.InteractiveShellApp.exec_lines = []
    29 #c.InteractiveShellApp.exec_lines.append('%load_ext autoreload')
    30 #c.InteractiveShellApp.exec_lines.append('%autoreload 2')
    31 #c.InteractiveShellApp.exec_lines.append('print "Warning: disable autoreload in startup.py to improve performance." ')
     27c = get_ipython().config
     28c.InteractiveShellApp.exec_lines = []
     29c.InteractiveShellApp.exec_lines.append('%load_ext autoreload')
     30c.InteractiveShellApp.exec_lines.append('%autoreload 2')
     31c.InteractiveShellApp.exec_lines.append('print "Warning: disable autoreload in startup.py to improve performance." ')
    3232
    3333print("\n  ISSM development path correctly loaded\n\n")
  • TabularUnified issm/trunk-jpl/src/m/plot/processmesh.py

    r15512 r17227  
    1414        if md.mesh.numberofvertices==0:
    1515                raise ValueError('processmesh error: mesh is empty')
    16         if md.mesh.numberofvertices==md.mesh.numberofelements:
    17                 raise ValueError('processmesh error: the number of elements is the same as the number of nodes')
     16#       if md.mesh.numberofvertices==md.mesh.numberofelements:
     17#               raise ValueError('processmesh error: the number of elements is the same as the number of nodes')
    1818
    1919        if len(data)==0 or not isinstance(data,dict):
  • TabularUnified issm/trunk-jpl/test/NightlyRun/test336.py

    r17210 r17227  
    88from MatlabFuncs import *
    99
    10 md=triangle(model(),'../Exp/Square.exp',150000.)
     10md=triangle(model(),'../Exp/Square.exp',10000.)
    1111md=setmask(md,'','')
    1212md=parameterize(md,'../Par/SquareSheetConstrained.py')
     
    2020md.transient.isgroundingline=False
    2121md.transient.isgia=False
    22 md.transient.islevelset=True
     22md.transient.islevelset=False
    2323
    2424# init levelset function
     
    2727xmin=min(md.mesh.x)
    2828xmax=max(md.mesh.x)
    29 xmed=(xmax+xmin)/2
    30 ymed=(ymax+ymin)/2
    31 distx=numpy.absolute(md.mesh.x.reshape(-1,1)-xmed)
    32 disty=numpy.absolute(md.mesh.y.reshape(-1,1)-ymed)
    33 md.mask.ice_levelset=numpy.maximum(distx,disty)-1.e5
     29xmed=(xmax+xmin)/2.
     30ymed=(ymax+ymin)/2.
     31md.mask.ice_levelset=numpy.sqrt(numpy.power(md.mesh.x-xmed,2.)+numpy.power(md.mesh.y-ymed,2.)) - (xmax-xmin)/3.
     32
     33# set spcs
     34mask=1.*numpy.ones((md.mesh.numberofvertices,1))
     35nrverts=md.mesh.elements.shape[1]
     36for i in range(0,md.mesh.numberofelements):
     37        elt=numpy.copy(md.mesh.elements[i])
     38        elt-=1
     39        isiceinelement=False
     40        for iv in range(0,nrverts):
     41                if(md.mask.ice_levelset[elt[iv]]<=0.):
     42                        isiceinelement=True
     43        if(isiceinelement):
     44                for iv in range(0,nrverts):
     45                        mask[elt[iv]]=2.
     46
     47v=0.
     48for i in range(0,md.mesh.numberofvertices):
     49        if(mask[i]==1.):
     50                md.stressbalance.spcvx[i]=v
     51                md.stressbalance.spcvy[i]=v
     52                md.stressbalance.spcvz[i]=v
    3453
    3554md=solve(md,TransientSolutionEnum())
     
    3756#Fields and tolerances to track changes
    3857field_names     =['Vx','Vy','Vel','Pressure','MaskIceLevelset']
    39 field_tolerances=[1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13]
     58field_tolerances=[1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13]#,1e-13,1e-13]
    4059field_values=[\
    4160        md.results.TransientSolution[0].Vx,\
     
    4362        md.results.TransientSolution[0].Vel,\
    4463        md.results.TransientSolution[0].Pressure,\
    45         md.results.TransientSolution[0].MaskIceLevelset,\
     64#       md.results.TransientSolution[0].MaskIceLevelset,\
    4665        md.results.TransientSolution[1].Vx,\
    4766        md.results.TransientSolution[1].Vy,\
    4867        md.results.TransientSolution[1].Vel,\
    4968        md.results.TransientSolution[1].Pressure,\
    50         md.results.TransientSolution[1].MaskIceLevelset,\
     69#       md.results.TransientSolution[1].MaskIceLevelset,\
    5170        ]
Note: See TracChangeset for help on using the changeset viewer.