00001 #include "SurfaceWaveSynthetic.h" 00002 00003 SurfaceWaveSynthetic::SurfaceWaveSynthetic() 00004 { 00005 } 00006 00007 SurfaceWaveSynthetic::~SurfaceWaveSynthetic() 00008 { 00009 } 00010 00011 void SurfaceWaveSynthetic::PreParallel(const std::string &filename) 00012 { 00013 00014 Model->WriteRunFile(filename, calculationperiods); 00015 Model->WriteModel(filename+".mod"); 00016 } 00017 00018 SurfaceWaveData SurfaceWaveSynthetic::SafeParallel(const std::string &filename) 00019 { 00020 const std::string fullname = filename; 00021 system(("chmod u+x "+fullname).c_str()); 00022 system(fullname.c_str()); 00023 SynthData.ReadSurf96(fullname+".asc96"); 00024 system(("rm -r "+fullname+"*").c_str()); 00025 return SynthData; 00026 } 00027 00028 SurfaceWaveData SurfaceWaveSynthetic::GetSynthData(const std::string &filename) 00029 { 00030 PreParallel(filename); 00031 return SafeParallel(filename); 00032 }
1.5.5