Changeset 4098
- Timestamp:
- 06/21/10 16:19:43 (15 years ago)
- Location:
- issm/trunk/src/mex
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk/src/mex/InputControlConstrain/InputControlConstrain.cpp
r4097 r4098 1 /*\file ControlConstrain.c2 *\brief: constrain updated parameters during inverse control run 3 1 /*\file InputControlConstrain.c 2 *\brief: update elements properties using an input vector 3 */ 4 4 5 #include "./ ControlConstrain.h"5 #include "./InputControlConstrain.h" 6 6 7 7 void mexFunction( int nlhs, mxArray* plhs[], int nrhs, const mxArray* prhs[]){ 8 8 9 10 int noerr=1;9 /*diverse: */ 10 int noerr = 1; 11 11 12 /*input datasets: */ 13 double* p_g=NULL; 14 double cm_min; 15 double cm_max; 16 int control_type=NULL; 17 int gsize; 18 Parameters* parameters=NULL; 12 /*input datasets: */ 13 DataSet *elements = NULL; 14 DataSet *nodes = NULL; 15 DataSet *vertices = NULL; 16 DataSet *loads = NULL; 17 DataSet *materials = NULL; 18 Parameters *parameters = NULL; 19 int control_type; 20 double cm_min; 21 double cm_max; 19 22 20 21 23 /*Boot module: */ 24 MODULEBOOT(); 22 25 23 24 CheckNumMatlabArguments(nlhs,NLHS,nrhs,NRHS,__FUNCT__,&ControlConstrainUsage);26 /*checks on arguments on the matlab side: */ 27 CheckNumMatlabArguments(nlhs,NLHS,nrhs,NRHS,__FUNCT__,&InputControlConstrainUsage); 25 28 26 /*Input datasets: */ 27 FetchData(&p_g,&gsize,PG); 28 FetchParams(¶meters,PARAMETERS); 29 /*Input datasets: */ 30 FetchData(&elements,ELEMENTSIN); 31 FetchData(&nodes,NODESIN); 32 FetchData(&vertices,VERTICESIN); 33 FetchData(&loads,LOADSIN); 34 FetchData(&materials,MATERIALSIN); 35 FetchParams(¶meters,PARAMETERSIN); 36 FetchData(&control_type,CONTROLTYPE); 37 FetchData(&cm_min,CMMIN); 38 FetchData(&cm_max,CMMAX); 29 39 30 parameters->FindParam(&cm_min,CmMinEnum); 31 parameters->FindParam(&cm_max,CmMaxEnum); 32 parameters->FindParam(&control_type,ControlTypeEnum); 40 /*call "x" code layer*/ 41 InputControlConstrainx(elements,nodes,vertices,loads, materials,parameters,control_type,cm_min,cm_max); 33 42 34 /*!Call core code: */ 35 ControlConstrainx(p_g,gsize,cm_min,cm_max,control_type); 43 /*write output datasets: */ 44 WriteData(ELEMENTS,elements); 45 WriteData(NODES,nodes); 46 WriteData(VERTICES,vertices); 47 WriteData(LOADS,loads); 48 WriteData(MATERIALS,materials); 49 WriteParams(PARAMETERS,parameters); 36 50 37 /*write output : */ 38 WriteData(PGOUT,p_g,gsize); 51 /*Free ressources: */ 52 delete elements; 53 delete nodes; 54 delete vertices; 55 delete loads; 56 delete materials; 57 delete parameters; 39 58 40 /*Free ressources: */ 41 delete parameters; 42 43 /*end module: */ 44 MODULEEND(); 59 /*end module: */ 60 MODULEEND(); 45 61 } 46 62 47 void ControlConstrainUsage(void)63 void InputControlConstrainUsage(void) 48 64 { 49 65 _printf_("\n"); 50 _printf_(" usage: [ p_g] = %s(p_g,parameters);\n",__FUNCT__);66 _printf_(" usage: [elements,nodes,vertices,loads,materials,parameters] = %s(elements,nodes,vertices,loads,materials,parameters,control_type,cm_min,cm_max);\n",__FUNCT__); 51 67 _printf_("\n"); 52 68 } -
issm/trunk/src/mex/InputControlConstrain/InputControlConstrain.h
r4097 r4098 1 1 /* 2 ControlConstrain.h2 InputControlConstrain.h 3 3 */ 4 4 5 6 #ifndef _CONTROLCONSTRAIN_H 7 #define _CONTROLCONSTRAIN_H 5 #ifndef _INPUTCONTROLCONSTRAIN_H 6 #define _INPUTCONTROLCONSTRAIN_H 8 7 9 8 /* local prototypes: */ 10 void ControlConstrainUsage(void);9 void InputControlConstrainUsage(void); 11 10 12 11 #include "../../c/modules/modules.h" … … 16 15 17 16 #undef __FUNCT__ 18 #define __FUNCT__ " ControlConstrain"17 #define __FUNCT__ "InputControlConstrain" 19 18 20 19 /* serial input macros: */ 21 #define PG (mxArray*)prhs[0] 22 #define PARAMETERS (mxArray*)prhs[1] 20 #define ELEMENTSIN (mxArray*)prhs[0] 21 #define NODESIN (mxArray*)prhs[1] 22 #define VERTICESIN (mxArray*)prhs[2] 23 #define LOADSIN (mxArray*)prhs[3] 24 #define MATERIALSIN (mxArray*)prhs[4] 25 #define PARAMETERSIN (mxArray*)prhs[5] 26 #define CONTROLTYPE (mxArray*)prhs[6] 27 #define CMMIN (mxArray*)prhs[7] 28 #define CMMAX (mxArray*)prhs[8] 23 29 24 30 /* serial output macros: */ 25 #define PGOUT (mxArray**)&plhs[0] 31 #define ELEMENTS (mxArray**)&plhs[0] 32 #define NODES (mxArray**)&plhs[1] 33 #define VERTICES (mxArray**)&plhs[2] 34 #define LOADS (mxArray**)&plhs[3] 35 #define MATERIALS (mxArray**)&plhs[4] 36 #define PARAMETERS (mxArray**)&plhs[5] 26 37 27 38 /* serial arg counts: */ 28 39 #undef NLHS 29 #define NLHS 140 #define NLHS 6 30 41 #undef NRHS 31 #define NRHS 242 #define NRHS 9 32 43 44 #endif /* _INPUTCONTROLCONSTRAIN_H */ 33 45 34 #endif /* _CONTROLCONSTRAIN_H */35 36 37 -
issm/trunk/src/mex/InputDepthAverage/InputDepthAverage.cpp
r4095 r4098 62 62 { 63 63 _printf_("\n"); 64 _printf_(" usage: [elements,nodes,vertices,loads,materials,parameters] = %s(elements,nodes,vertices,loads,materials,parameters, name_enum);\n",__FUNCT__);64 _printf_(" usage: [elements,nodes,vertices,loads,materials,parameters] = %s(elements,nodes,vertices,loads,materials,parameters,enum_type,average_enum_type);\n",__FUNCT__); 65 65 _printf_("\n"); 66 66 }
Note:
See TracChangeset
for help on using the changeset viewer.