input_data.hpp 677 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. #ifndef INPUT_DATA_HPP
  2. #define INPUT_DATA_HPP
  3. #include "physics.hpp"
  4. #include "time.hpp"
  5. #include "geometry.hpp"
  6. #include "initial_state.hpp"
  7. #include "source.hpp"
  8. class InputData{
  9. public:
  10. Geometry geometry;
  11. InitialState* initial_state;
  12. Source source;
  13. double factor;
  14. InputData();
  15. ~InputData();
  16. void load(fstream& file,bool init=false);
  17. void save(fstream& file);
  18. void remove_initial_state();
  19. };
  20. inline
  21. InputData::InputData(){
  22. initial_state=new InitialState(&geometry);
  23. }
  24. inline InputData::~InputData(){
  25. remove_initial_state();
  26. }
  27. inline void
  28. InputData::remove_initial_state() {
  29. if(initial_state!=nullptr){
  30. delete initial_state;
  31. }
  32. }
  33. #endif