- Timestamp:
- 08/16/12 18:30:40 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/classes/objects/Materials/Matice.cpp
r13056 r13073 705 705 if (control_analysis && iomodel->Data(InversionControlParametersEnum)){ 706 706 for(i=0;i<num_control_type;i++){ 707 switch( (int)iomodel->Data(InversionControlParametersEnum)[i]){707 switch(reCast<int>(iomodel->Data(InversionControlParametersEnum)[i])){ 708 708 case MaterialsRheologyBbarEnum: 709 709 if (iomodel->Data(MaterialsRheologyBEnum)){ 710 710 _assert_(iomodel->Data(MaterialsRheologyBEnum));_assert_(iomodel->Data(InversionMinParametersEnum)); _assert_(iomodel->Data(InversionMaxParametersEnum)); 711 for(j=0;j<num_vertices;j++)nodeinputs[j]=iomodel->Data(MaterialsRheologyBEnum)[ int(iomodel->Data(MeshElementsEnum)[num_vertices*index+j]-1)];712 for(j=0;j<num_vertices;j++)cmmininputs[j]=iomodel->Data(InversionMinParametersEnum)[ int(iomodel->Data(MeshElementsEnum)[num_vertices*index+j]-1)*num_control_type+i];713 for(j=0;j<num_vertices;j++)cmmaxinputs[j]=iomodel->Data(InversionMaxParametersEnum)[ int(iomodel->Data(MeshElementsEnum)[num_vertices*index+j]-1)*num_control_type+i];711 for(j=0;j<num_vertices;j++)nodeinputs[j]=iomodel->Data(MaterialsRheologyBEnum)[reCast<int,IssmDouble>(iomodel->Data(MeshElementsEnum)[num_vertices*index+j]-1)]; 712 for(j=0;j<num_vertices;j++)cmmininputs[j]=iomodel->Data(InversionMinParametersEnum)[reCast<int,IssmDouble>(iomodel->Data(MeshElementsEnum)[num_vertices*index+j]-1)*num_control_type+i]; 713 for(j=0;j<num_vertices;j++)cmmaxinputs[j]=iomodel->Data(InversionMaxParametersEnum)[reCast<int,IssmDouble>(iomodel->Data(MeshElementsEnum)[num_vertices*index+j]-1)*num_control_type+i]; 714 714 this->inputs->AddInput(new ControlInput(MaterialsRheologyBbarEnum,TriaP1InputEnum,nodeinputs,cmmininputs,cmmaxinputs,i+1)); 715 715 } … … 733 733 /*Get B*/ 734 734 if (iomodel->Data(MaterialsRheologyBEnum)) { 735 for(i=0;i<num_vertices;i++) nodeinputs[i]=iomodel->Data(MaterialsRheologyBEnum)[ int(iomodel->Data(MeshElementsEnum)[num_vertices*index+i]-1)];735 for(i=0;i<num_vertices;i++) nodeinputs[i]=iomodel->Data(MaterialsRheologyBEnum)[reCast<int,IssmDouble>(iomodel->Data(MeshElementsEnum)[num_vertices*index+i]-1)]; 736 736 this->inputs->AddInput(new PentaP1Input(MaterialsRheologyBEnum,nodeinputs)); 737 737 } … … 747 747 if (control_analysis && iomodel->Data(InversionControlParametersEnum)){ 748 748 for(i=0;i<num_control_type;i++){ 749 switch( (int)iomodel->Data(InversionControlParametersEnum)[i]){749 switch(reCast<int>(iomodel->Data(InversionControlParametersEnum)[i])){ 750 750 case MaterialsRheologyBbarEnum: 751 751 if (iomodel->Data(MaterialsRheologyBEnum)){ 752 752 _assert_(iomodel->Data(MaterialsRheologyBEnum));_assert_(iomodel->Data(InversionMinParametersEnum)); _assert_(iomodel->Data(InversionMaxParametersEnum)); 753 for(j=0;j<num_vertices;j++)nodeinputs[j]=iomodel->Data(MaterialsRheologyBEnum)[ int(iomodel->Data(MeshElementsEnum)[num_vertices*index+j]-1)];754 for(j=0;j<num_vertices;j++)cmmininputs[j]=iomodel->Data(InversionMinParametersEnum)[ int(iomodel->Data(MeshElementsEnum)[num_vertices*index+j]-1)*num_control_type+i];755 for(j=0;j<num_vertices;j++)cmmaxinputs[j]=iomodel->Data(InversionMaxParametersEnum)[ int(iomodel->Data(MeshElementsEnum)[num_vertices*index+j]-1)*num_control_type+i];753 for(j=0;j<num_vertices;j++)nodeinputs[j]=iomodel->Data(MaterialsRheologyBEnum)[reCast<int,IssmDouble>(iomodel->Data(MeshElementsEnum)[num_vertices*index+j]-1)]; 754 for(j=0;j<num_vertices;j++)cmmininputs[j]=iomodel->Data(InversionMinParametersEnum)[reCast<int,IssmDouble>(iomodel->Data(MeshElementsEnum)[num_vertices*index+j]-1)*num_control_type+i]; 755 for(j=0;j<num_vertices;j++)cmmaxinputs[j]=iomodel->Data(InversionMaxParametersEnum)[reCast<int,IssmDouble>(iomodel->Data(MeshElementsEnum)[num_vertices*index+j]-1)*num_control_type+i]; 756 756 this->inputs->AddInput(new ControlInput(MaterialsRheologyBEnum,PentaP1InputEnum,nodeinputs,cmmininputs,cmmaxinputs,i+1)); 757 757 }
Note:
See TracChangeset
for help on using the changeset viewer.