source: issm/trunk/src/mex/InputControlConstrain/InputControlConstrain.cpp@ 4453

Last change on this file since 4453 was 4453, checked in by Eric.Larour, 15 years ago

Fixed some bugs in DakotaResponses and InputUpdateFromDakota modules.
Took out noerr variable in many of the modules.

File size: 1.8 KB
Line 
1/*\file InputControlConstrain.c
2*\brief: update elements properties using an input vector
3*/
4
5#include "./InputControlConstrain.h"
6
7void mexFunction( int nlhs, mxArray* plhs[], int nrhs, const mxArray* prhs[]){
8
9/*input datasets: */
10Elements* elements = NULL;
11Nodes *nodes = NULL;
12Vertices *vertices = NULL;
13Loads *loads = NULL;
14Materials *materials = NULL;
15Parameters *parameters = NULL;
16int control_type;
17double cm_min;
18double cm_max;
19
20/*Boot module: */
21MODULEBOOT();
22
23/*checks on arguments on the matlab side: */
24CheckNumMatlabArguments(nlhs,NLHS,nrhs,NRHS,__FUNCT__,&InputControlConstrainUsage);
25
26/*Input datasets: */
27FetchData((DataSet**)&elements,ELEMENTSIN);
28FetchData((DataSet**)&nodes,NODESIN);
29FetchData((DataSet**)&vertices,VERTICESIN);
30FetchData((DataSet**)&loads,LOADSIN);
31FetchData((DataSet**)&materials,MATERIALSIN);
32FetchParams(&parameters,PARAMETERSIN);
33FetchData(&control_type,CONTROLTYPE);
34FetchData(&cm_min,CMMIN);
35FetchData(&cm_max,CMMAX);
36
37/*call "x" code layer*/
38InputControlConstrainx(elements,nodes,vertices,loads, materials,parameters,control_type,cm_min,cm_max);
39
40/*write output datasets: */
41WriteData(ELEMENTS,elements);
42WriteData(NODES,nodes);
43WriteData(VERTICES,vertices);
44WriteData(LOADS,loads);
45WriteData(MATERIALS,materials);
46WriteParams(PARAMETERS,parameters);
47
48/*Free ressources: */
49delete elements;
50delete nodes;
51delete vertices;
52delete loads;
53delete materials;
54delete parameters;
55
56/*end module: */
57MODULEEND();
58}
59
60void InputControlConstrainUsage(void)
61{
62 _printf_("\n");
63 _printf_(" usage: [elements,nodes,vertices,loads,materials,parameters] = %s(elements,nodes,vertices,loads,materials,parameters,control_type,cm_min,cm_max);\n",__FUNCT__);
64 _printf_("\n");
65}
Note: See TracBrowser for help on using the repository browser.