work_lhs.h 1.2 KB

12345678910111213141516171819202122232425262728293031323334
  1. //---------------------------------------------------------------------
  2. //---------------------------------------------------------------------
  3. //
  4. // work_lhs.h
  5. //
  6. //---------------------------------------------------------------------
  7. //---------------------------------------------------------------------
  8. #ifndef __WORK_LHS_H
  9. #define __WORK_LHS_H
  10. #define fjac(m,n,i) fjac[(m-1)+5*((n-1)+5*(i+2))]
  11. #define njac(m,n,i) njac[(m-1)+5*((n-1)+5*(i+2))]
  12. #define lhsa(m,n,i) lhsa[(m-1)+5*((n-1)+5*(i+1))]
  13. #define lhsb(m,n,i) lhsb[(m-1)+5*((n-1)+5*(i+1))]
  14. #ifdef G_MAIN
  15. double fjac[5*5*(MAX_CELL_DIM+4)],
  16. njac[5*5*(MAX_CELL_DIM+4)],
  17. lhsa[5*5*(MAX_CELL_DIM+2)],
  18. lhsb[5*5*(MAX_CELL_DIM+2)],
  19. tmp1, tmp2, tmp3;
  20. // common /work_lhs/ fjac, njac, lhsa, lhsb, tmp1, tmp2, tmp3;
  21. #else
  22. extern double fjac[5*5*(MAX_CELL_DIM+4)],
  23. njac[5*5*(MAX_CELL_DIM+4)],
  24. lhsa[5*5*(MAX_CELL_DIM+2)],
  25. lhsb[5*5*(MAX_CELL_DIM+2)],
  26. tmp1, tmp2, tmp3;
  27. #endif /*G_MAIN*/
  28. #ifdef _OPENMP
  29. #pragma omp threadprivate (fjac, njac, lhsa, lhsb, tmp1, tmp2, tmp3)
  30. #endif
  31. #endif