def __init__(self, hydro_file, list_file, scale=False): print '\nReading the AQWA results in the ' + hydro_file + ' file' self.files = bem.generate_file_names(hydro_file) self.scaled_at_read = scale self.scaled = True self.body = {} self._read(list_file)
def __init__(self, sim_dir='./', cal_file='Nemoh.cal', results_dir = 'Results', mesh_dir='Mesh', scale=False): # Set files self.scaled_at_read = scale self.scaled = True self.dir = os.path.abspath(sim_dir) print '\nReading NEMOH output in the ' + self.dir + ' directory' self.files = bem.generate_file_names(os.path.join(self.dir,cal_file)) self.files['Nemoh'] = os.path.join(self.dir,cal_file) self.files['RadiationCoefficients'] = os.path.join(self.dir,results_dir,'RadiationCoefficients.tec') self.files['ExcitationForce'] = os.path.join(self.dir,results_dir,'ExcitationForce.tec') self.files['DiffractionForce'] = os.path.join(self.dir,results_dir,'DiffractionForce.tec') self.files['FKForce'] = os.path.join(self.dir,results_dir,'FKForce.tec') try: self.files['IRF'] = os.path.join(self.dir,results_dir,'IRF.tec') except: print '\tNo IRF forces or infinite frequency added mass forces read because the ' + self.files['IRF'] + ' was not found' # Initialize data ovject self.body = {} # Object to store raw data self.cal = bem.Raw() # Read cal file self._read_cal() # Read tec plot output files self.am, self.rd, self.w, raw_rad = _read_radiation(self.files['RadiationCoefficients']) self.ex_mag, self.ex_phase, temp, self.ex_mag_raw = _read_excitation(self.files['ExcitationForce']) self.dfr_mag, self.dfr_phase, temp, raw_diff = _read_tec(self.files['DiffractionForce'], data_type=1) self.fk_mag, self.fk_phase, temp, raw_fk = _read_tec(self.files['FKForce'], data_type=1) try: self.am_inf, temp1, temp2, raw_am_inf = _read_tec(self.files['IRF'], data_type=2) except: raise Exception('The file ' + self.files['IRF'] + ' was not found. Please make sure the IRF output option is set to 1 in the Nemoh.cal file') self.ex_im = self.ex_mag*np.sin(self.ex_phase) self.ex_re = self.ex_mag*np.cos(self.ex_phase) f_break = ['#'*100]*5 self.raw_output = f_break + raw_rad + f_break + raw_diff + f_break + self.ex_mag_raw + f_break + raw_fk + f_break self._create_and_load_hydro_data_obj()
def __init__(self, out_file, density=1000., gravity=9.81, scale=False): self.files = bem.generate_file_names(out_file) self.files['3sc'] = self.files['base_name'] + '.3sc' self.files['3fk'] = self.files['base_name'] + '.3fk' self.rho = density self.g = gravity self.body = {} self.scaled_at_read = scale self.scaled = False self._read()
def __init__(self, sim_dir='./', cal_file='Nemoh.cal', results_dir='Results', mesh_dir='Mesh', scale=False): # Set files self.scaled_at_read = scale self.scaled = True self.dir = os.path.abspath(sim_dir) print '\nReading NEMOH output in the ' + self.dir + ' directory' self.files = bem.generate_file_names(os.path.join(self.dir, cal_file)) self.files['Nemoh'] = os.path.join(self.dir, cal_file) self.files['RadiationCoefficients'] = os.path.join( self.dir, results_dir, 'RadiationCoefficients.tec') self.files['ExcitationForce'] = os.path.join(self.dir, results_dir, 'ExcitationForce.tec') self.files['DiffractionForce'] = os.path.join(self.dir, results_dir, 'DiffractionForce.tec') self.files['FKForce'] = os.path.join(self.dir, results_dir, 'FKForce.tec') try: self.files['IRF'] = os.path.join(self.dir, results_dir, 'IRF.tec') except: print '\tNo IRF forces or infinite frequency added mass forces read because the ' + self.files[ 'IRF'] + ' was not found' # Initialize data ovject self.body = {} # Object to store raw data self.cal = bem.Raw() # Read cal file self._read_cal() # Read tec plot output files self.am, self.rd, self.w, raw_rad = _read_radiation( self.files['RadiationCoefficients']) self.ex_mag, self.ex_phase, temp, self.ex_mag_raw = _read_excitation( self.files['ExcitationForce']) self.dfr_mag, self.dfr_phase, temp, raw_diff = _read_tec( self.files['DiffractionForce'], data_type=1) self.fk_mag, self.fk_phase, temp, raw_fk = _read_tec( self.files['FKForce'], data_type=1) self.ex_phase = -1 * self.ex_phase try: self.am_inf, temp1, temp2, raw_am_inf = _read_tec( self.files['IRF'], data_type=2) except: raise Exception( 'The file ' + self.files['IRF'] + ' was not found. Please make sure the IRF output option is set to 1 in the Nemoh.cal file' ) self.ex_im = self.ex_mag * np.sin(self.ex_phase) self.ex_re = self.ex_mag * np.cos(self.ex_phase) f_break = ['#' * 100] * 5 self.raw_output = f_break + raw_rad + f_break + raw_diff + f_break + self.ex_mag_raw + f_break + raw_fk + f_break self._create_and_load_hydro_data_obj()