source:
issm/oecreview/Archive/25834-26739/ISSM-26222-26223.diff@
27230
Last change on this file since 27230 was 26740, checked in by , 3 years ago | |
---|---|
File size: 4.8 KB |
-
../trunk-jpl/src/c/analyses/DamageEvolutionAnalysis.cpp
808 808 delete gauss; 809 809 return Me; 810 810 }/*}}}*/ 811 ElementVector* DamageEvolutionAnalysis::CreateFctPVector(Element* element){/*{{{*/ 812 813 return this->CreatePVector(element); 814 815 }/*}}}*/ 811 816 void DamageEvolutionAnalysis::FctKMatrix(Matrix<IssmDouble>** pKff,Matrix<IssmDouble>** pKfs,FemModel* femmodel){/*{{{*/ 812 817 813 818 /*Output*/ … … 836 841 delete Kfs; 837 842 } 838 843 }/*}}}*/ 844 void DamageEvolutionAnalysis::FctPVector(Vector<IssmDouble>** ppf,FemModel* femmodel){/*{{{*/ 845 846 /*Output*/ 847 Vector<IssmDouble>* pf = NULL; 848 849 /*Initialize P vector*/ 850 AllocateSystemMatricesx(NULL,NULL,NULL,&pf,femmodel); 851 852 /*Create and assemble matrix*/ 853 for(Object* & object : femmodel->elements->objects){ 854 Element* element = xDynamicCast<Element*>(object); 855 ElementVector* pe = this->CreateFctPVector(element); 856 if(pe) pe->AddToGlobal(pf); 857 delete pe; 858 } 859 pf->Assemble(); 860 861 /*Assign output pointer*/ 862 *ppf=pf; 863 }/*}}}*/ 839 864 void DamageEvolutionAnalysis::MassMatrix(Matrix<IssmDouble>** pMff,FemModel* femmodel){/*{{{*/ 840 865 841 866 /*Initialize Mass matrix*/ -
../trunk-jpl/src/c/analyses/DamageEvolutionAnalysis.h
38 38 /*FCT*/ 39 39 ElementMatrix* CreateFctKMatrix(Element* element); 40 40 ElementMatrix* CreateMassMatrix(Element* element); 41 ElementVector* CreateFctPVector(Element* element); 41 42 void FctKMatrix(Matrix<IssmDouble>** pKff,Matrix<IssmDouble>** pKfs,FemModel* femmodel); 42 43 void MassMatrix(Matrix<IssmDouble>** pMff,FemModel* femmodel); 44 void FctPVector(Vector<IssmDouble>** ppf,FemModel* femmodel); 43 45 }; 44 46 #endif -
../trunk-jpl/src/c/solutionsequences/solutionsequence_fct.cpp
417 417 danalysis = new DamageEvolutionAnalysis(); 418 418 danalysis->MassMatrix(&Mc,femmodel); 419 419 danalysis->FctKMatrix(&K,NULL,femmodel); 420 danalysis->FctPVector(&p,femmodel); 420 421 break; 421 422 default: _error_("analysis type " << EnumToStringx(analysis_type) << " not supported for FCT\n"); 422 423 } -
../trunk-jpl/src/c/classes/Elements/Tria.cpp
1815 1815 total_weight+=gauss->weight; 1816 1816 } 1817 1817 //normalize to phi. 1818 if(total_weight )for(int i=0;i<NUMVERTICES;i++)weights[i]/=total_weight/phi;1818 if(total_weight>0.) for(int i=0;i<NUMVERTICES;i++)weights[i]/=total_weight/phi; 1819 1819 else for(int i=0;i<NUMVERTICES;i++)weights[i]=0; 1820 1820 1821 1821 /*free ressources:*/ -
../trunk-jpl/src/c/classes/SealevelGeometry.cpp
19 19 SealevelGeometry::SealevelGeometry(int localnelin){ /*{{{*/ 20 20 localnel=localnelin; 21 21 for(int i=0;i<SLGEOM_NUMLOADS;i++){ 22 for (int j=0;j< MAXVERTICES;j++){22 for (int j=0;j<SLMAXVERTICES;j++){ 23 23 LoadWeigths[i][j]=xNewZeroInit<IssmDouble>(localnel); 24 24 } 25 25 vlatbarycentre[i]=NULL; //we don't know yet … … 42 42 }; /*}}}*/ 43 43 SealevelGeometry::~SealevelGeometry(){ /*{{{*/ 44 44 for(int i=0;i<SLGEOM_NUMLOADS;i++){ 45 for (int j=0;j< MAXVERTICES;j++){45 for (int j=0;j<SLMAXVERTICES;j++){ 46 46 xDelete<IssmDouble>(LoadWeigths[i][j]); 47 47 } 48 48 xDelete<IssmDouble>(LoadArea[i]); -
../trunk-jpl/src/c/classes/SealevelGeometry.h
10 10 #define SLGEOM_OCEAN 0 11 11 #define SLGEOM_ICE 1 12 12 #define SLGEOM_WATER 2 13 #define MAXVERTICES 313 #define SLMAXVERTICES 3 14 14 15 15 #include "../toolkits/toolkits.h" 16 16 … … 19 19 public: 20 20 21 21 int localnel; 22 IssmDouble* LoadWeigths[SLGEOM_NUMLOADS][ MAXVERTICES];22 IssmDouble* LoadWeigths[SLGEOM_NUMLOADS][SLMAXVERTICES]; 23 23 IssmDouble* LoadArea[SLGEOM_NUMLOADS]; 24 24 Vector<IssmDouble>* vlatbarycentre[SLGEOM_NUMLOADS]; 25 25 Vector<IssmDouble>* vlongbarycentre[SLGEOM_NUMLOADS];
Note:
See TracBrowser
for help on using the repository browser.