Exemple #1
0
    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)
Exemple #2
0
    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)
Exemple #3
0
    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()
Exemple #4
0
    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()
Exemple #5
0
    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()
Exemple #6
0
    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()