Changeset 26038
- Timestamp:
- 03/03/21 13:01:25 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/analyses/AdjointHorizAnalysis.cpp
r25854 r26038 2032 2032 2033 2033 /*Build gradient vector (actually -dJ/dD): */ 2034 for(int i=0;i<numvertices;i++){ 2035 ge[i]+=-2.*drag*dalpha2dk*((lambda*vx+mu*vy))*Jdet*gauss->weight*basis[i]; 2036 _assert_(!xIsNan<IssmDouble>(ge[i])); 2037 } 2038 } 2039 gradient->SetValues(numvertices,vertexpidlist,ge,ADD_VAL); 2034 if(control_interp==P1Enum){ 2035 for(int i=0;i<numvertices;i++){ 2036 ge[i]+=-2.*drag*dalpha2dk*((lambda*vx+mu*vy))*Jdet*gauss->weight*basis[i]; 2037 _assert_(!xIsNan<IssmDouble>(ge[i])); 2038 } 2039 } 2040 else if(control_interp==P0Enum){ 2041 ge[0]+=-2.*drag*dalpha2dk*((lambda*vx+mu*vy))*Jdet*gauss->weight; 2042 _assert_(!xIsNan<IssmDouble>(ge[0])); 2043 } 2044 else{ 2045 _error_("not supported"); 2046 } 2047 } 2048 if(control_interp==P1Enum){ 2049 gradient->SetValues(numvertices,vertexpidlist,ge,ADD_VAL); 2050 } 2051 else if(control_interp==P0Enum){ 2052 gradient->SetValue(vertexpidlist[0],ge[0],ADD_VAL); 2053 } 2054 else{ 2055 _error_("not supported"); 2056 } 2040 2057 2041 2058 /*Clean up and return*/
Note:
See TracChangeset
for help on using the changeset viewer.