diff --git a/utils/api_demos/mainElasticity.cpp b/utils/api_demos/mainElasticity.cpp index a4593b71429841068484a725db7f4f97b1c90b05..0f395a61aa87301c24d6ec505d83fa09de5a95ac 100644 --- a/utils/api_demos/mainElasticity.cpp +++ b/utils/api_demos/mainElasticity.cpp @@ -2,21 +2,18 @@ #include "elasticitySolver.h" #include "PView.h" #include "PViewData.h" -#include "onelab.h" - - -onelab::remoteNetworkClient *_onelabClient = 0; void Info (int i, char* c){ printf("%d %s\n",i,c); } -void InitializeOnelab(const char * socket, std::string &modName) { - _onelabClient = - new onelab::remoteNetworkClient("ElasticSolver", socket ); +/* +void InitializeOnelab(std::string sockName, std::string modelName) { + if (!sockName.size()) return; + loader = new onelab::remoteNetworkClient("loader", sockName); std::vector<std::string> choices; std::vector<onelab::string> ps; - _onelabClient->get(ps,"Elasticity/9Compute"); + loader->get(ps,"Elasticity/9Compute"); // ?? ps.resize(1); ps[0].setName("Elasticity/9Compute"); ps[0].setValue("-solve -pos"); @@ -24,17 +21,18 @@ void InitializeOnelab(const char * socket, std::string &modName) { choices.push_back("-pos"); choices.push_back("-solve"); ps[0].setChoices(choices); - _onelabClient->set(ps[0]); + loader->set(ps[0]); ps.resize(1); ps[0].setName("Elasticity/1ModelName"); - ps[0].setValue(modName); - _onelabClient->set(ps[0]); + ps[0].setValue(modelName); + loader->set(ps[0]); } +/* void AddOnelabNumberChoice(std::string name, double val, std::string help) { std::vector<double> choices; std::vector<onelab::number> ps; - _onelabClient->get(ps, name); + loader->get(ps, name); if(ps.size()){ choices = ps[0].getChoices(); } @@ -47,10 +45,10 @@ void AddOnelabNumberChoice(std::string name, double val, std::string help) ps[0].setChoices(choices); ps[0].setHelp(help); ps[0].setShortHelp(help); - _onelabClient->set(ps[0]); + loader->set(ps[0]); } -void GetSetMaterials (elasticitySolver &e) { +void AddOnelabMaterials (elasticitySolver &e) { std::vector<onelab::number> ps; for (int i=0;i<e.elasticFields.size();i++){ @@ -72,25 +70,40 @@ void GetSetLoads (elasticitySolver &e) { void GetSetFixations (elasticitySolver &e) { // todo } +*/ -void WhatToDoNow(int argc, char *argv[], int &solve, std::string &modName) +void WhatToDoNow(int argc, char *argv[], int &solve, std::string &modelName) { int i = 1; - solve = 0; + solve = 1; + std::string sockName = ""; while (i < argc) { if (argv[i][0] == '-') { - if (!strcmp(argv[i]+1, "onelab")) { + if (!strcmp(argv[i]+1, "solve") || + !strcmp(argv[i]+1, "-solve")) { + solve = 1; i++; - if (i<argc && argv[i][0]!='-') { - printf("INITIALIZINK SOCKET %s\n",argv[i]); - InitializeOnelab(argv[i],modName); i++; - } - else { - printf("Error : Missing address of onelab server"); - } } - + else if (!strcmp(argv[i]+1, "pos") || + !strcmp(argv[i]+1, "-pos")) { + i++; + } + // else if (!strcmp(argv[i]+1, "onelab")) { + // i++; + // if (i<argc && argv[i][0]!='-') { + // printf("INITIALIZING SOCKET %s\n",argv[i]); + // sockName=argv[i]; + // InitializeOnelab(sockName,modelName); i++; + // } + // else { + // printf("Error : Missing address of onelab server"); + // } + // } + else if (!strcmp(argv[i]+1, "a")) { + i++; + exit(1); + } else if (!strcmp(argv[i]+1, "help") || !strcmp(argv[i]+1, "h") || !strcmp(argv[i]+1, "-help") || !strcmp(argv[i]+1, "-h")) { i++; @@ -102,36 +115,22 @@ void WhatToDoNow(int argc, char *argv[], int &solve, std::string &modName) i++; Info(1, argv[0]); } - else if (!strcmp(argv[i]+1, "info") || !strcmp(argv[i]+1, "-info")) { i++; Info(2, argv[0]); } - else if (!strcmp(argv[i]+1, "solve") || - !strcmp(argv[i]+1, "-solve")) { - solve = 1; - i++; - } - else if (!strcmp(argv[i]+1, "pos") || - !strcmp(argv[i]+1, "-pos")) { - i++; - } } else { - modName = std::string(argv[i]); - // if (modName) - // modName = modName + std::string(".fuk"); - std::vector<onelab::string> ps; + modelName = std::string(argv[i]); + // if (modelName) + // modelName = modelName + std::string(".fuk"); i++; } } } - - int main (int argc, char* argv[]){ - char* a[10]; char name[245]; a[0] = name; @@ -145,13 +144,12 @@ int main (int argc, char* argv[]){ int solve; std::string pn; - WhatToDoNow (argc,argv, solve,pn); + WhatToDoNow (argc,argv, solve, pn); elasticitySolver mySolver (1000); mySolver.setMesh(std::string(pn+".msh").c_str()); - _onelabClient->sendMergeFileRequest(pn+".msh"); mySolver.readInputFile(std::string(pn+".dat").c_str()); - GetSetMaterials (mySolver); + if (solve){ mySolver.solve(); PView *pvm = mySolver.buildVonMisesView("vonMises"); @@ -159,17 +157,10 @@ int main (int argc, char* argv[]){ // pv->getData()->writeMSH("disp.msh", false, false); pv->getData()->writePOS("disp.pos"); pvm->getData()->writePOS("vonMises.pos"); - _onelabClient->sendMergeFileRequest("disp.pos"); - _onelabClient->sendMergeFileRequest("vonMises.pos"); delete pv; } - //GmshFinalize(); - if (_onelabClient) delete _onelabClient; - return 0; - - // solve the problem