Changeset 23132


Ignore:
Timestamp:
08/20/18 09:22:41 (7 years ago)
Author:
Mathieu Morlighem
Message:

NEW: adding empty shell for FS Schur CG algorithm

Location:
issm/trunk-jpl/src/c
Files:
1 added
4 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/c/Makefile.am

    r23020 r23132  
    251251                                        ./solutionsequences/solutionsequence_newton.cpp\
    252252                                        ./solutionsequences/solutionsequence_fct.cpp\
     253                                        ./solutionsequences/solutionsequence_schurcg.cpp\
    253254                                        ./solutionsequences/convergence.cpp\
    254255                                        ./classes/Options/Options.cpp\
  • issm/trunk-jpl/src/c/analyses/StressbalanceAnalysis.cpp

    r23114 r23132  
    54495449}/*}}}*/
    54505450
     5451/*Schur*/
     5452void StressbalanceAnalysis::SchurF(Vector<IssmDouble>** pF,FemModel* femmodel){
     5453
     5454        /*Initialize Mass matrix*/
     5455        Vector<IssmDouble> *F = NULL;
     5456        //AllocateSystemMatricesx(&Mff,NULL,NULL,NULL,femmodel);
     5457
     5458        /*Create and assemble matrix*/
     5459        for(int i=0;i<femmodel->elements->Size();i++){
     5460                Element*       element = xDynamicCast<Element*>(femmodel->elements->GetObjectByOffset(i));
     5461                ElementVector* Fe = this->CreatePVectorFS(element);
     5462                if(F){
     5463                        Fe->AddToGlobal(F);
     5464                }
     5465                delete Fe;
     5466        }
     5467        F->Assemble();
     5468
     5469        /*Assign output pointer*/
     5470        *pF=F;
     5471}
     5472
    54515473/*Coupling (Tiling)*/
    54525474ElementMatrix* StressbalanceAnalysis::CreateKMatrixCouplingHOFS(Element* element){/*{{{*/
  • issm/trunk-jpl/src/c/analyses/StressbalanceAnalysis.h

    r18928 r23132  
    9696                void           InputUpdateFromSolutionFSXTH_d(Elements* elements,Parameters* parameters);
    9797                void           InputUpdateFromSolutionFSXTH_tau(Elements* elements,Parameters* parameters);
     98
     99                /*Schur complement conjugate gradient stuff*/
     100                void SchurF(Vector<IssmDouble>** pF,FemModel* femmodel);
     101
    98102                /*Coupling*/
    99103                ElementMatrix* CreateKMatrixCouplingHOFS(Element* element);
  • issm/trunk-jpl/src/c/solutionsequences/solutionsequences.h

    r22372 r23132  
    1818void solutionsequence_newton(FemModel* femmodel);
    1919void solutionsequence_fct(FemModel* femmodel);
     20void solutionsequence_schurcg(FemModel* femmodel);
    2021void solutionsequence_FScoupling_nonlinear(FemModel* femmodel,bool conserve_loads);
    2122void solutionsequence_linear(FemModel* femmodel);
Note: See TracChangeset for help on using the changeset viewer.