tfsftmz.h 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. /*
  2. 2D FDTD simulator
  3. Copyright (C) 2019 Emilia Blåsten
  4. This program is free software: you can redistribute it and/or
  5. modify it under the terms of the GNU Affero General Public License
  6. as published by the Free Software Foundation, either version 3 of
  7. the License, or (at your option) any later version.
  8. This program is distributed in the hope that it will be useful,
  9. but WITHOUT ANY WARRANTY; without even the implied warranty of
  10. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  11. Affero General Public License for more details.
  12. You should have received a copy of the GNU Affero General Public
  13. License along with this program. If not, see
  14. <http://www.gnu.org/licenses/>.
  15. */
  16. /* tfsftmz.h: Header file that defines the TFSF structure and contains
  17. * the TFSF function prototypes. The structure contains indices for the
  18. * coordinates of the TF region. It also contains a pointer to a 1D
  19. * Grid-structure which will be used to propagate the incident wave. */
  20. #ifndef _TFSF_H
  21. #define _TFSF_H
  22. #include "gridtmz.h"
  23. #include "grid1dez.h"
  24. struct Tfsf {
  25. int firstX, firstY;
  26. int lastX, lastY;
  27. Grid1D *g1;
  28. };
  29. typedef struct Tfsf Tfsf;
  30. void tfsfInit(Tfsf *tf, Grid *g);
  31. Tfsf *tfsfCreate(int sizeX);
  32. void tfsfDestroy(Tfsf *tf);
  33. void tfsfUpdate(Tfsf *tf, Grid *g);
  34. #endif