Changeset 18135
- Timestamp:
- 06/10/14 16:22:42 (11 years ago)
- Location:
- issm/trunk-jpl/src/c
- Files:
-
- 2 deleted
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/Makefile.am
r18134 r18135 376 376 ./cores/thermal_core.cpp\ 377 377 ./solutionsequences/solutionsequence_thermal_nonlinear.cpp\ 378 ./modules/ControlInputGetGradientx/ControlInputGetGradientx.cpp\379 ./modules/ControlInputGetGradientx/ControlInputGetGradientx.h\380 378 ./modules/ControlInputSetGradientx/ControlInputSetGradientx.cpp\ 381 379 ./modules/ControlInputSetGradientx/ControlInputSetGradientx.h\ 382 ./modules/ControlInputScaleGradientx/ControlInputScaleGradientx.cpp\383 ./modules/ControlInputScaleGradientx/ControlInputScaleGradientx.h\384 380 ./modules/GetVectorFromControlInputsx/GetVectorFromControlInputsx.cpp\ 385 381 ./modules/GetVectorFromControlInputsx/GetVectorFromControlInputsx.h\ -
issm/trunk-jpl/src/c/classes/Elements/Element.h
r18104 r18135 270 270 #endif 271 271 272 virtual void ControlInputGetGradient(Vector<IssmDouble>* gradient,int enum_type,int control_index)=0;273 272 virtual void ControlInputSetGradient(IssmDouble* gradient,int enum_type,int control_index)=0; 274 virtual void ControlInputScaleGradient(int enum_type, IssmDouble scale)=0;275 273 virtual void ControlToVectors(Vector<IssmPDouble>* vector_control, Vector<IssmPDouble>* vector_gradient,int control_enum)=0; 276 274 virtual void GetVectorFromControlInputs(Vector<IssmDouble>* gradient,int control_enum,int control_index,const char* data)=0; -
issm/trunk-jpl/src/c/classes/Elements/Penta.cpp
r18128 r18135 2690 2690 #endif 2691 2691 2692 void Penta::ControlInputGetGradient(Vector<IssmDouble>* gradient,int enum_type,int control_index){/*{{{*/2693 2694 int vertexpidlist[NUMVERTICES];2695 Input* input=NULL;2696 2697 if(enum_type==MaterialsRheologyBbarEnum){2698 if(!IsOnBase()) return;2699 input=(Input*)inputs->GetInput(MaterialsRheologyBEnum);2700 }2701 else if(enum_type==DamageDbarEnum){2702 if(!IsOnBase()) return;2703 input=(Input*)inputs->GetInput(DamageDEnum);2704 }2705 else{2706 input=inputs->GetInput(enum_type);2707 }2708 if (!input) _error_("Input " << EnumToStringx(enum_type) << " not found");2709 if (input->ObjectEnum()!=ControlInputEnum) _error_("Input " << EnumToStringx(enum_type) << " is not a ControlInput");2710 2711 GradientIndexing(&vertexpidlist[0],control_index);2712 ((ControlInput*)input)->GetGradient(gradient,&vertexpidlist[0]);2713 2714 }/*}}}*/2715 void Penta::ControlInputScaleGradient(int enum_type,IssmDouble scale){/*{{{*/2716 2717 Input* input=NULL;2718 2719 if(enum_type==MaterialsRheologyBbarEnum){2720 input=(Input*)inputs->GetInput(MaterialsRheologyBEnum);2721 }2722 else if(enum_type==DamageDbarEnum){2723 input=(Input*)inputs->GetInput(DamageDEnum);2724 }2725 else{2726 input=inputs->GetInput(enum_type);2727 }2728 if (!input) _error_("Input " << EnumToStringx(enum_type) << " not found");2729 if (input->ObjectEnum()!=ControlInputEnum) _error_("Input " << EnumToStringx(enum_type) << " is not a ControlInput");2730 2731 ((ControlInput*)input)->ScaleGradient(scale);2732 }/*}}}*/2733 2692 void Penta::ControlInputSetGradient(IssmDouble* gradient,int enum_type,int control_index){/*{{{*/ 2734 2693 -
issm/trunk-jpl/src/c/classes/Elements/Penta.h
r18104 r18135 122 122 void GetVectorFromControlInputs(Vector<IssmDouble>* gradient,int control_enum,int control_index,const char* data); 123 123 void SetControlInputsFromVector(IssmDouble* vector,int control_enum,int control_index); 124 void ControlInputGetGradient(Vector<IssmDouble>* gradient,int enum_type,int control_index);125 void ControlInputScaleGradient(int enum_type,IssmDouble scale);126 124 void ControlInputSetGradient(IssmDouble* gradient,int enum_type,int control_index); 127 125 void ControlToVectors(Vector<IssmPDouble>* vector_control, Vector<IssmPDouble>* vector_gradient,int control_enum); -
issm/trunk-jpl/src/c/classes/Elements/Seg.h
r18104 r18135 158 158 void GetVectorFromControlInputs(Vector<IssmDouble>* gradient,int control_enum,int control_index,const char* data){_error_("not implemented yet");}; 159 159 void SetControlInputsFromVector(IssmDouble* vector,int control_enum,int control_index){_error_("not implemented yet");}; 160 void ControlInputGetGradient(Vector<IssmDouble>* gradient,int enum_type,int control_index){_error_("not implemented yet");};161 void ControlInputScaleGradient(int enum_type,IssmDouble scale){_error_("not implemented yet");};162 160 void ControlInputSetGradient(IssmDouble* gradient,int enum_type,int control_index){_error_("not implemented yet");}; 163 161 void ControlToVectors(Vector<IssmPDouble>* vector_control, Vector<IssmPDouble>* vector_gradient,int control_enum){_error_("not implemented yet");}; -
issm/trunk-jpl/src/c/classes/Elements/Tetra.h
r18104 r18135 164 164 void GetVectorFromControlInputs(Vector<IssmDouble>* gradient,int control_enum,int control_index,const char* data){_error_("not implemented yet");}; 165 165 void SetControlInputsFromVector(IssmDouble* vector,int control_enum,int control_index){_error_("not implemented yet");}; 166 void ControlInputGetGradient(Vector<IssmDouble>* gradient,int enum_type,int control_index){_error_("not implemented yet");};167 void ControlInputScaleGradient(int enum_type,IssmDouble scale){_error_("not implemented yet");};168 166 void ControlInputSetGradient(IssmDouble* gradient,int enum_type,int control_index){_error_("not implemented yet");}; 169 167 void ControlToVectors(Vector<IssmPDouble>* vector_control, Vector<IssmPDouble>* vector_gradient,int control_enum){_error_("not implemented yet");}; -
issm/trunk-jpl/src/c/classes/Elements/Tria.cpp
r18128 r18135 2605 2605 } 2606 2606 /*}}}*/ 2607 void Tria::ControlInputGetGradient(Vector<IssmDouble>* gradient,int enum_type,int control_index){/*{{{*/2608 2609 int vertexpidlist[NUMVERTICES];2610 2611 Input* input=inputs->GetInput(enum_type);2612 if (!input) _error_("Input " << EnumToStringx(enum_type) << " not found");2613 if (input->ObjectEnum()!=ControlInputEnum) _error_("Input " << EnumToStringx(enum_type) << " is not a ControlInput");2614 2615 GradientIndexing(&vertexpidlist[0],control_index);2616 ((ControlInput*)input)->GetGradient(gradient,&vertexpidlist[0]);2617 2618 }/*}}}*/2619 void Tria::ControlInputScaleGradient(int enum_type,IssmDouble scale){/*{{{*/2620 2621 Input* input=inputs->GetInput(enum_type);2622 if (!input) _error_("Input " << EnumToStringx(enum_type) << " not found");2623 if (input->ObjectEnum()!=ControlInputEnum) _error_("Input " << EnumToStringx(enum_type) << " is not a ControlInput");2624 2625 ((ControlInput*)input)->ScaleGradient(scale);2626 }/*}}}*/2627 2607 void Tria::ControlInputSetGradient(IssmDouble* gradient,int enum_type,int control_index){/*{{{*/ 2628 2608 -
issm/trunk-jpl/src/c/classes/Elements/Tria.h
r18104 r18135 127 127 void GetVectorFromControlInputs(Vector<IssmDouble>* gradient,int control_enum,int control_index,const char* data); 128 128 void SetControlInputsFromVector(IssmDouble* vector,int control_enum,int control_index); 129 void ControlInputGetGradient(Vector<IssmDouble>* gradient,int enum_type,int control_index);130 void ControlInputScaleGradient(int enum_type,IssmDouble scale);131 129 void ControlInputSetGradient(IssmDouble* gradient,int enum_type,int control_index); 132 130 void ControlToVectors(Vector<IssmPDouble>* vector_control, Vector<IssmPDouble>* vector_gradient,int control_enum); -
issm/trunk-jpl/src/c/modules/modules.h
r18134 r18135 16 16 #include "./ContourToMeshx/ContourToMeshx.h" 17 17 #include "./ContourToNodesx/ContourToNodesx.h" 18 #include "./ControlInputGetGradientx/ControlInputGetGradientx.h"19 18 #include "./ControlInputSetGradientx/ControlInputSetGradientx.h" 20 #include "./ControlInputScaleGradientx/ControlInputScaleGradientx.h"21 19 #include "./CreateNodalConstraintsx/CreateNodalConstraintsx.h" 22 20 #include "./CreateJacobianMatrixx/CreateJacobianMatrixx.h"
Note:
See TracChangeset
for help on using the changeset viewer.