Пример #1
0
bool ASMs3DLag::updateCoords (const Vector& displ)
{
  if (shareFE) return true;

  if (displ.size() != 3*coord.size())
  {
    std::cerr <<" *** ASMs3DLag::updateCoords: Invalid dimension "
	      << displ.size() <<" on displ, should be "
	      << 3*coord.size() << std::endl;
    return false;
  }

  const double* u = displ.ptr();
  for (size_t inod = 0; inod < myCoord.size(); inod++, u += 3)
    myCoord[inod] += RealArray(u,u+3);

  return true;
}
Пример #2
0
int do_RealArray(char *cmd, char *tmpdir, int cmdno) {
  int length, outlength, res=0;
#ifdef DEBUG
  int i;
#endif
  double *out;
  read_input_real(tmpdir, &out, &outlength, cmdno);
  length = strlen(cmd);
#ifdef DEBUG
  printf("%s: arglength=%d\n", cmd, outlength);
  for (i=0; i<outlength; ++i) printf("%lf ",out[i]);
  printf("\n");
#endif
  RealArray(&cmd, &length, out, &outlength, &res);
  write_output_real(tmpdir, out, outlength, cmdno);
  free(out);
  return res;
}