source: issm/oecreview/Archive/22755-22818/ISSM-22793-22794.diff@ 22819

Last change on this file since 22819 was 22819, checked in by Mathieu Morlighem, 7 years ago

CHG: added Archive/22755-22818

File size: 3.5 KB
RevLine 
[22819]1Index: ../trunk-jpl/src/c/cores/controladm1qn3_core.cpp
2===================================================================
3--- ../trunk-jpl/src/c/cores/controladm1qn3_core.cpp (revision 22793)
4+++ ../trunk-jpl/src/c/cores/controladm1qn3_core.cpp (revision 22794)
5@@ -105,6 +105,7 @@
6 if(X[index]>XU[index]) X[index]=XU[index];
7 if(X[index]<XL[index]) X[index]=XL[index];
8 }
9+ N_add+=N[c];
10 }
11
12 /*Start Tracing*/
13@@ -319,6 +320,7 @@
14 X[index] = X[index]/reCast<double>(scaling_factors[c]);
15 Gnorm += G[index]*G[index];
16 }
17+ N_add+=N[c];
18 }
19 Gnorm = sqrt(Gnorm);
20
21Index: ../trunk-jpl/src/c/classes/Elements/Element.cpp
22===================================================================
23--- ../trunk-jpl/src/c/classes/Elements/Element.cpp (revision 22793)
24+++ ../trunk-jpl/src/c/classes/Elements/Element.cpp (revision 22794)
25@@ -1661,7 +1661,7 @@
26 IssmDouble* times = xNew<IssmDouble>(N);
27 for(int t=0;t<N;t++) times[t] = vector[(M-1)*N+t];
28 /*Create the three transient inputs for the control input*/
29- TransientInput* values_input=new TransientInput(ControlInputValuesEnum,times,N);
30+ TransientInput* values_input=new TransientInput(input_enum,times,N);
31 TransientInput* mins_input = new TransientInput(ControlInputMinsEnum,times,N);
32 TransientInput* maxs_input = new TransientInput(ControlInputMaxsEnum,times,N);
33 TransientInput* grad_input = new TransientInput(ControlInputGradEnum);
34@@ -1673,7 +1673,7 @@
35 }
36 switch(this->ObjectEnum()){
37 case TriaEnum:
38- values_input->AddTimeInput(new TriaInput(ControlInputValuesEnum,values,P1Enum));
39+ values_input->AddTimeInput(new TriaInput(input_enum,values,P1Enum));
40 mins_input->AddTimeInput(new TriaInput(ControlInputMinsEnum,values_min,P1Enum));
41 maxs_input->AddTimeInput(new TriaInput(ControlInputMaxsEnum,values_max,P1Enum));
42 break;
43Index: ../trunk-jpl/src/c/classes/Inputs/ControlInput.cpp
44===================================================================
45--- ../trunk-jpl/src/c/classes/Inputs/ControlInput.cpp (revision 22793)
46+++ ../trunk-jpl/src/c/classes/Inputs/ControlInput.cpp (revision 22794)
47@@ -329,7 +329,7 @@
48 if(input->ObjectEnum()!=TransientInputEnum)_error_("cannot have timeoffset argument if not TransientInput Control");
49 TransientInput* transient_input = xDynamicCast<TransientInput*>(input);
50 IssmDouble time = transient_input->GetTimeByOffset(timeoffset);
51- TransientInput* new_trans_input = new TransientInput(ControlInputValuesEnum);
52+ TransientInput* new_trans_input = new TransientInput(this->enum_type);
53 for(int i=0;i<transient_input->numtimesteps;i++){
54 if(transient_input->timesteps[i]==time) new_trans_input->AddTimeInput(xDynamicCast<TriaInput*>(in_input),time);
55 else {
56Index: ../trunk-jpl/src/c/shared/io/Marshalling/IoCodeConversions.cpp
57===================================================================
58--- ../trunk-jpl/src/c/shared/io/Marshalling/IoCodeConversions.cpp (revision 22793)
59+++ ../trunk-jpl/src/c/shared/io/Marshalling/IoCodeConversions.cpp (revision 22794)
60@@ -142,6 +142,11 @@
61 input_enum = CalvingStressThresholdGroundediceEnum;
62 fieldname=xNew<char>((strlen(field)+1)); xMemCpy<char>(fieldname,field,(strlen(field)+1));
63 }
64+ else if(strcmp(string_in,"DamageDbar")==0){
65+ const char* field = "md.damage.D";
66+ input_enum = DamageDbarEnum;
67+ fieldname=xNew<char>((strlen(field)+1)); xMemCpy<char>(fieldname,field,(strlen(field)+1));
68+ }
69 else{
70 _error_("Field \""<<string_in<<"\" not supported yet");
71 }
Note: See TracBrowser for help on using the repository browser.