exact_solution.c.svn-base 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. //---------------------------------------------------------------------
  2. //
  3. // Copyright 2010 Intel Corporation
  4. //
  5. // Licensed under the Apache License, Version 2.0 (the "License");
  6. // you may not use this file except in compliance with the License.
  7. // You may obtain a copy of the License at
  8. //
  9. // http://www.apache.org/licenses/LICENSE-2.0
  10. //
  11. // Unless required by applicable law or agreed to in writing, software
  12. // distributed under the License is distributed on an "AS IS" BASIS,
  13. // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  14. // See the License for the specific language governing permissions and
  15. // limitations under the License.
  16. //
  17. //---------------------------------------------------------------------
  18. #include "header.h"
  19. void exact_solution(double xi,double eta,double zeta,double dtemp[]) {
  20. //---------------------------------------------------------------------
  21. //---------------------------------------------------------------------
  22. //---------------------------------------------------------------------
  23. // this function returns the exact solution at point xi, eta, zeta
  24. //---------------------------------------------------------------------
  25. int m;
  26. #define dtemp(m) dtemp[m-1]
  27. for (m = 1; m <= 5; m++) {
  28. dtemp(m) = ce(m,1) +
  29. xi*(ce(m,2) + xi*(ce(m,5) + xi*(ce(m,8) + xi*ce(m,11)))) +
  30. eta*(ce(m,3) + eta*(ce(m,6) + eta*(ce(m,9) + eta*ce(m,12))))+
  31. zeta*(ce(m,4) + zeta*(ce(m,7) + zeta*(ce(m,10) +
  32. zeta*ce(m,13))));
  33. }
  34. return;
  35. }