Changeset 22200
- Timestamp:
- 10/30/17 09:47:18 (7 years ago)
- Location:
- issm/trunk-jpl/src/c
- Files:
-
- 10 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/classes/Constraints/Constraint.h
r18931 r22200 24 24 virtual bool InAnalysis(int analysis_type)=0; 25 25 virtual void PenaltyDofAndValue(int* dof,IssmDouble* value,Nodes* nodes,Parameters* parameters)=0; 26 virtual void InputUpdateFromVectorDakota(IssmDouble* vector,Nodes* nodes,int name,int type) = 0; 26 27 27 28 }; -
issm/trunk-jpl/src/c/classes/Constraints/SpcDynamic.h
r20810 r22200 42 42 bool InAnalysis(int analysis_type); 43 43 void PenaltyDofAndValue(int* dof,IssmDouble* value,Nodes* nodes,Parameters* parameters){_error_("not implemented yet");}; 44 void InputUpdateFromVectorDakota(IssmDouble* vector,Nodes* nodes,int name,int type){_error_("not implemented yet");}; 44 45 45 46 /*SpcDynamic management*/ -
issm/trunk-jpl/src/c/classes/Constraints/SpcStatic.cpp
r20810 r22200 100 100 void SpcStatic::ConstrainNode(Nodes* nodes,Parameters* parameters){/*{{{*/ 101 101 102 Node* node=NULL;103 104 102 /*Chase through nodes and find the node to which this SpcStatic applys: */ 105 node=(Node*)nodes->GetObjectById(NULL,nodeid);103 Node* node=(Node*)nodes->GetObjectById(NULL,nodeid); 106 104 107 105 /*Apply constraint: */ … … 114 112 if (in_analysis_type==this->analysis_type) return true; 115 113 else return false; 114 } 115 /*}}}*/ 116 void SpcStatic::InputUpdateFromVectorDakota(IssmDouble* vector,Nodes* nodes,int name,int type){/*{{{*/ 117 118 /*Chase through nodes and find the node to which this SpcStatic applys: */ 119 Node* node=(Node*)nodes->GetObjectById(NULL,nodeid); 120 121 /*Apply constraint: */ 122 if(node){ //in case the spc is dealing with a node on another cpu 123 int sid = node->Sid(); 124 this->value = vector[sid]; 125 _assert_(!xIsNan<IssmDouble>(this->value)); 126 } 116 127 } 117 128 /*}}}*/ -
issm/trunk-jpl/src/c/classes/Constraints/SpcStatic.h
r20810 r22200 38 38 /*Constraint virtual functions definitions: {{{*/ 39 39 void ActivatePenaltyMethod(void); 40 void ConstrainNode(Nodes* nodes,Parameters* parameters); 41 bool InAnalysis(int analysis_type); 42 void PenaltyDofAndValue(int* dof,IssmDouble* value,Nodes* nodes,Parameters* parameters){_error_("not implemented yet");}; 40 void ConstrainNode(Nodes* nodes,Parameters* parameters); 41 bool InAnalysis(int analysis_type); 42 void PenaltyDofAndValue(int* dof,IssmDouble* value,Nodes* nodes,Parameters* parameters){_error_("not implemented yet");}; 43 void InputUpdateFromVectorDakota(IssmDouble* vector,Nodes* nodes,int name,int type); 43 44 /*}}}*/ 44 45 /*SpcStatic management:{{{ */ -
issm/trunk-jpl/src/c/classes/Constraints/SpcTransient.h
r20810 r22200 43 43 bool InAnalysis(int analysis_type); 44 44 void PenaltyDofAndValue(int* dof,IssmDouble* value,Nodes* nodes,Parameters* parameters); 45 void InputUpdateFromVectorDakota(IssmDouble* vector,Nodes* nodes,int name,int type){_error_("not implemented yet");}; 45 46 /*}}}*/ 46 47 /*SpcTransient management:{{{ */ -
issm/trunk-jpl/src/c/classes/Elements/Element.cpp
r22199 r22200 1792 1792 name==DeviatoricStresseffectiveEnum || 1793 1793 name==VxAverageEnum || 1794 name==VyAverageEnum 1794 name==VyAverageEnum || 1795 name==BalancethicknessSpcthicknessEnum 1795 1796 1796 1797 ) { -
issm/trunk-jpl/src/c/modules/InputUpdateFromVectorDakotax/InputUpdateFromVectorDakotax.cpp
r18521 r22200 18 18 void InputUpdateFromVectorDakotax(FemModel* femmodel,IssmDouble* vector, int name, int type){ 19 19 20 int i;21 22 20 /*Update elements, nodes, loads and materials from inputs: */ 23 for(i =0;i<femmodel->elements->Size();i++){21 for(int i=0;i<femmodel->elements->Size();i++){ 24 22 Element* element=xDynamicCast<Element*>(femmodel->elements->GetObjectByOffset(i)); 25 23 element->InputUpdateFromVectorDakota(vector,name,type); 26 24 } 27 for(i =0;i<femmodel->loads->Size();i++){25 for(int i=0;i<femmodel->loads->Size();i++){ 28 26 Load* load=(Load*)femmodel->loads->GetObjectByOffset(i); 29 27 load->InputUpdateFromVectorDakota(vector,name,type); 30 28 } 31 for(i =0;i<femmodel->materials->Size();i++){29 for(int i=0;i<femmodel->materials->Size();i++){ 32 30 Material* material=(Material*)femmodel->materials->GetObjectByOffset(i); 33 31 material->InputUpdateFromVectorDakota(vector,name,type); 34 32 } 33 for(int i=0;i<femmodel->constraints->Size();i++){ 34 Constraint* constraint=(Constraint*)femmodel->constraints->GetObjectByOffset(i); 35 constraint->InputUpdateFromVectorDakota(vector,femmodel->nodes,name,type); 36 } 35 37 } -
issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h
r22199 r22200 378 378 TransientNumRequestedOutputsEnum, 379 379 TransientRequestedOutputsEnum, 380 BalancethicknessSpcthicknessEnum, 380 381 BalancethicknessApparentMassbalanceEnum, 381 382 BalancethicknessDiffusionCoefficientEnum, -
issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp
r22199 r22200 384 384 case TransientNumRequestedOutputsEnum : return "TransientNumRequestedOutputs"; 385 385 case TransientRequestedOutputsEnum : return "TransientRequestedOutputs"; 386 case BalancethicknessSpcthicknessEnum : return "BalancethicknessSpcthickness"; 386 387 case BalancethicknessApparentMassbalanceEnum : return "BalancethicknessApparentMassbalance"; 387 388 case BalancethicknessDiffusionCoefficientEnum : return "BalancethicknessDiffusionCoefficient"; -
issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp
r22199 r22200 393 393 else if (strcmp(name,"TransientNumRequestedOutputs")==0) return TransientNumRequestedOutputsEnum; 394 394 else if (strcmp(name,"TransientRequestedOutputs")==0) return TransientRequestedOutputsEnum; 395 else if (strcmp(name,"BalancethicknessSpcthickness")==0) return BalancethicknessSpcthicknessEnum; 395 396 else if (strcmp(name,"BalancethicknessApparentMassbalance")==0) return BalancethicknessApparentMassbalanceEnum; 396 397 else if (strcmp(name,"BalancethicknessDiffusionCoefficient")==0) return BalancethicknessDiffusionCoefficientEnum; … … 505 506 else if (strcmp(name,"SmbBMax")==0) return SmbBMaxEnum; 506 507 else if (strcmp(name,"SmbBMin")==0) return SmbBMinEnum; 507 else if (strcmp(name,"Adjointp")==0) return AdjointpEnum;508 508 else stage=5; 509 509 } 510 510 if(stage==5){ 511 if (strcmp(name,"Adjointx")==0) return AdjointxEnum; 511 if (strcmp(name,"Adjointp")==0) return AdjointpEnum; 512 else if (strcmp(name,"Adjointx")==0) return AdjointxEnum; 512 513 else if (strcmp(name,"Adjointy")==0) return AdjointyEnum; 513 514 else if (strcmp(name,"Adjointz")==0) return AdjointzEnum; … … 628 629 else if (strcmp(name,"Outputdefinition9")==0) return Outputdefinition9Enum; 629 630 else if (strcmp(name,"Outputdefinition10")==0) return Outputdefinition10Enum; 630 else if (strcmp(name,"Outputdefinition11")==0) return Outputdefinition11Enum;631 631 else stage=6; 632 632 } 633 633 if(stage==6){ 634 if (strcmp(name,"Outputdefinition12")==0) return Outputdefinition12Enum; 634 if (strcmp(name,"Outputdefinition11")==0) return Outputdefinition11Enum; 635 else if (strcmp(name,"Outputdefinition12")==0) return Outputdefinition12Enum; 635 636 else if (strcmp(name,"Outputdefinition13")==0) return Outputdefinition13Enum; 636 637 else if (strcmp(name,"Outputdefinition14")==0) return Outputdefinition14Enum; … … 751 752 else if (strcmp(name,"Gradient3")==0) return Gradient3Enum; 752 753 else if (strcmp(name,"Gradient")==0) return GradientEnum; 753 else if (strcmp(name,"GroundinglineMigration")==0) return GroundinglineMigrationEnum;754 754 else stage=7; 755 755 } 756 756 if(stage==7){ 757 if (strcmp(name,"Gset")==0) return GsetEnum; 757 if (strcmp(name,"GroundinglineMigration")==0) return GroundinglineMigrationEnum; 758 else if (strcmp(name,"Gset")==0) return GsetEnum; 758 759 else if (strcmp(name,"Index")==0) return IndexEnum; 759 760 else if (strcmp(name,"Indexed")==0) return IndexedEnum; … … 874 875 else if (strcmp(name,"AmrGroundingLineDistance")==0) return AmrGroundingLineDistanceEnum; 875 876 else if (strcmp(name,"AmrIceFrontResolution")==0) return AmrIceFrontResolutionEnum; 876 else if (strcmp(name,"AmrIceFrontDistance")==0) return AmrIceFrontDistanceEnum;877 877 else stage=8; 878 878 } 879 879 if(stage==8){ 880 if (strcmp(name,"AmrThicknessErrorResolution")==0) return AmrThicknessErrorResolutionEnum; 880 if (strcmp(name,"AmrIceFrontDistance")==0) return AmrIceFrontDistanceEnum; 881 else if (strcmp(name,"AmrThicknessErrorResolution")==0) return AmrThicknessErrorResolutionEnum; 881 882 else if (strcmp(name,"AmrThicknessErrorThreshold")==0) return AmrThicknessErrorThresholdEnum; 882 883 else if (strcmp(name,"AmrDeviatoricErrorResolution")==0) return AmrDeviatoricErrorResolutionEnum; … … 997 998 else if (strcmp(name,"GiaSolution")==0) return GiaSolutionEnum; 998 999 else if (strcmp(name,"GiaIvinsAnalysis")==0) return GiaIvinsAnalysisEnum; 999 else if (strcmp(name,"EsaSolution")==0) return EsaSolutionEnum;1000 1000 else stage=9; 1001 1001 } 1002 1002 if(stage==9){ 1003 if (strcmp(name,"EsaAnalysis")==0) return EsaAnalysisEnum; 1003 if (strcmp(name,"EsaSolution")==0) return EsaSolutionEnum; 1004 else if (strcmp(name,"EsaAnalysis")==0) return EsaAnalysisEnum; 1004 1005 else if (strcmp(name,"LoveSolution")==0) return LoveSolutionEnum; 1005 1006 else if (strcmp(name,"LoveAnalysis")==0) return LoveAnalysisEnum;
Note:
See TracChangeset
for help on using the changeset viewer.