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