Changeset 21606


Ignore:
Timestamp:
03/11/17 16:50:19 (8 years ago)
Author:
Eric.Larour
Message:

CHG: speed up in case we have an empty vector.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • issm/branches/trunk-larour-GRL2017/src/c/modules/Solverx/Solverx.cpp

    r15104 r21606  
    2222        if(VerboseModule()) _printf0_("   Solving matrix system\n");
    2323
    24         /*Initialize solver: */
    25         solver=new Solver<IssmDouble>(Kff,pf,uf0,df,parameters);
     24        if (pf->IsEmpty()){
     25                /*no need to solve! return empty vector: */
     26                uf=new Vector<IssmDouble>(0);
     27        }
     28        else{
     29                /*Initialize solver: */
     30                solver=new Solver<IssmDouble>(Kff,pf,uf0,df,parameters);
    2631
    27         /*Solve:*/
    28         uf=solver->Solve();
     32                /*Solve:*/
     33                uf=solver->Solve();
    2934
    30         /*clean up and assign output pointers:*/
    31         delete solver;
     35                /*clean up: */
     36                delete solver;
     37        }
     38               
     39        /*assign output pointers:*/
    3240        *puf=uf;
    3341}
Note: See TracChangeset for help on using the changeset viewer.