Exemplo n.º 1
0
void
SIDLFortran77Symbol(sidl_string__array_deleteref_f,
                    SIDL_STRING__ARRAY_DELETEREF_F,
                    sidl_string__array_deleteRef_f)
  (int64_t *array)
{
  sidl_string__array_deleteRef((struct sidl_string__array*)(ptrdiff_t)*array);
}
Exemplo n.º 2
0
int main(int argc, char *argv[]) 
{
  /* Create the sidl structures */
  sidl_BaseClass model_base = LOADCLASS("libRosenbrock-server-C++.so","Rosenbrock.RosenbrockModel");
  Optimize_OptimizationModel model = Optimize_OptimizationModel__cast(model_base);

  sidl_BaseClass tao_base = LOADCLASS("libTaoapi-server-C++.so","TAO.Solver");
  Solver_OptimizationSolver tao = Solver_OptimizationSolver__cast(tao_base);

  sidl_BaseClass taoenvironment_base = LOADCLASS("libTaoapi-server-C++.so","TAO.Environment");
  Solver_ProjectState taoenvironment = Solver_ProjectState__cast(taoenvironment_base);


  int info,i;

  /* Get argument list in sidl_string__array form */
  struct sidl_string__array *args = sidl_string__array_create1d(argc);
  for (i=0;i<argc;i++) 
    sidl_string__array_set1(args, i, argv[i]);


  /* Initializes PETSc and TAO */
  info = Solver_ProjectState_Initialize(taoenvironment,args); CHKERR(info, "initialize");

  /* Create the solver */
  info = Solver_OptimizationSolver_Create(tao,"tao_lmvm");   CHKERR(info,"solver_create");

  /* Read in any tao command line arguments */
  info = Solver_OptimizationSolver_SetFromOptions(tao);   CHKERR(info,"setfromoptions");

  /* Solve the application */
  info = Solver_OptimizationSolver_SolveApplication(tao,model);   CHKERR(info,"solveapplication");

  /* View the solver information */
  info = Solver_OptimizationSolver_View(tao);   CHKERR(info,"view");


  /* Clean up */
  info = Solver_OptimizationSolver_Destroy(tao);   CHKERR(info,"solver_destroy");
  info = Solver_ProjectState_Finalize(taoenvironment); CHKERR(info,"env_destroy");



  /* Delete sidl structure */
  Optimize_OptimizationModel_deleteRef(model);
  Solver_OptimizationSolver_deleteRef(tao);
  sidl_string__array_deleteRef(args);
  return 0;
}