Changeset 16754
- Timestamp:
- 11/14/13 08:52:42 (11 years ago)
- Location:
- issm/trunk-jpl/src/c
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/analyses/DamageEvolutionAnalysis.cpp
r16684 r16754 99 99 }/*}}}*/ 100 100 void DamageEvolutionAnalysis::InputUpdateFromSolution(IssmDouble* solution,Element* element){/*{{{*/ 101 _error_("not implemented yet"); 101 102 IssmDouble max_damage; 103 int *doflist = NULL; 104 105 /*Fetch number of nodes and dof for this finite element*/ 106 int numnodes = element->GetNumberOfNodes(); 107 108 /*Fetch dof list and allocate solution vector*/ 109 element->GetDofList(&doflist,NoneApproximationEnum,GsetEnum); 110 IssmDouble* values = xNew<IssmDouble>(numnodes); 111 112 /*Get user-supplied max_damage: */ 113 element->FindParam(&max_damage,DamageMaxDamageEnum); 114 115 /*Use the dof list to index into the solution vector: */ 116 for(int i=0;i<numnodes;i++){ 117 values[i]=solution[doflist[i]]; 118 /*Check solution*/ 119 if(xIsNan<IssmDouble>(values[i])) _error_("NaN found in solution vector"); 120 /*Enforce D < max_damage and D > 0 */ 121 if(values[i]>max_damage) values[i]=max_damage; 122 else if(values[i]<0.) values[i]=0.; 123 } 124 125 /*Get all inputs and parameters*/ 126 element->AddMaterialInput(DamageDbarEnum,values,P1Enum); 127 128 /*Free ressources:*/ 129 xDelete<IssmDouble>(values); 130 xDelete<int>(doflist); 102 131 }/*}}}*/ -
issm/trunk-jpl/src/c/analyses/ExtrudeFromBaseAnalysis.cpp
r16684 r16754 41 41 }/*}}}*/ 42 42 void ExtrudeFromBaseAnalysis::InputUpdateFromSolution(IssmDouble* solution,Element* element){/*{{{*/ 43 _error_("not implemented yet"); 43 44 int inputenum; 45 element->FindParam(&inputenum,InputToExtrudeEnum); 46 element->InputUpdateFromSolutionOneDof(solution,inputenum); 44 47 }/*}}}*/ -
issm/trunk-jpl/src/c/analyses/L2ProjectionBaseAnalysis.cpp
r16717 r16754 68 68 element->InputUpdateFromSolutionOneDof(solution,inputenum); 69 69 break; 70 case Mesh2DverticalEnum: 71 element->InputUpdateFromSolutionOneDof(solution,inputenum); 72 break; 70 73 case Mesh3DEnum: 71 74 element->InputUpdateFromSolutionOneDofCollapsed(solution,inputenum); -
issm/trunk-jpl/src/c/classes/Elements/Penta.cpp
r16746 r16754 2547 2547 void Penta::InputUpdateFromSolutionOneDof(IssmDouble* solution,int enum_type){ 2548 2548 2549 const int numdof = NDOF1*NUMVERTICES; 2550 2551 IssmDouble values[numdof]; 2552 int* doflist=NULL; 2553 2554 /*Get dof list: */ 2549 /*Intermediary*/ 2550 int* doflist = NULL; 2551 2552 /*Fetch number of nodes for this finite element*/ 2553 int numnodes = this->NumberofNodes(); 2554 2555 /*Fetch dof list and allocate solution vector*/ 2555 2556 GetDofList(&doflist,NoneApproximationEnum,GsetEnum); 2557 IssmDouble* values = xNew<IssmDouble>(numnodes); 2556 2558 2557 2559 /*Use the dof list to index into the solution vector: */ 2558 for(int i=0;i<num dof;i++){2560 for(int i=0;i<numnodes;i++){ 2559 2561 values[i]=solution[doflist[i]]; 2560 2562 if(xIsNan<IssmDouble>(values[i])) _error_("NaN found in solution vector"); … … 2565 2567 2566 2568 /*Free ressources:*/ 2569 xDelete<IssmDouble>(values); 2567 2570 xDelete<int>(doflist); 2568 2571 } -
issm/trunk-jpl/src/c/classes/Elements/Tria.cpp
r16740 r16754 1367 1367 int Tria::GetNumberOfNodes(void){ 1368 1368 return this->NumberofNodes(); 1369 } 1370 /*}}}*/ 1371 /*FUNCTION Tria::GetNumberOfNodesPressure;{{{*/ 1372 int Tria::GetNumberOfNodesPressure(void){ 1373 return this->NumberofNodesPressure(); 1374 } 1375 /*}}}*/ 1376 /*FUNCTION Tria::GetNumberOfNodesVelocity;{{{*/ 1377 int Tria::GetNumberOfNodesVelocity(void){ 1378 return this->NumberofNodesVelocity(); 1369 1379 } 1370 1380 /*}}}*/ … … 6781 6791 } 6782 6792 /*}}}*/ 6783 6784 6793 /*FUNCTION Tria::CreatEPLDomainMassMatrix {{{*/ 6785 6794 ElementMatrix* Tria::CreateEPLDomainMassMatrix(void){ -
issm/trunk-jpl/src/c/classes/Elements/Tria.h
r16734 r16754 90 90 void GetNodesLidList(int* lidlist); 91 91 int GetNumberOfNodes(void); 92 int GetNumberOfNodesPressure(void) {_error_("not implemented yet");};93 int GetNumberOfNodesVelocity(void) {_error_("not implemented yet");};92 int GetNumberOfNodesPressure(void); 93 int GetNumberOfNodesVelocity(void); 94 94 int GetNumberOfVertices(void); 95 95 int Sid();
Note:
See TracChangeset
for help on using the changeset viewer.