data_structures.py 文件源码

python
阅读 24 收藏 0 点赞 0 评论 0

项目:yt 作者: yt-project 项目源码 文件源码
def _parse_parameter_file(self):
        self.unique_identifier = \
            int(os.stat(self.parameter_filename)[stat.ST_CTIME])

        # code-specific parameters
        for t in self._handle['Info']:
            info_category = self._handle['Info'][t]
            for v in info_category.dtype.names: self.parameters[v] = info_category[v]

        # shortcut for self.parameters
        parameters = self.parameters

        # reset 'Model' to be more readable
        if parameters['Model'] == 1:
            parameters['Model'] = 'Hydro'
        elif parameters['Model'] == 2:
            parameters['Model'] = 'MHD'
        elif parameters['Model'] == 3:
            parameters['Model'] = 'ELBDM'
        else:
            parameters['Model'] = 'Unknown'

        # simulation time and domain
        self.current_time      = parameters['Time'][0]
        self.dimensionality    = 3  # always 3D
        self.domain_left_edge  = np.array([0.,0.,0.], dtype='float64')
        self.domain_right_edge = parameters['BoxSize'].astype('float64')
        self.domain_dimensions = parameters['NX0'].astype('int64')

        # periodicity
        periodic         = parameters['Opt__BC_Flu'][0] == 0
        self.periodicity = (periodic,periodic,periodic)

        # cosmological parameters
        if parameters['Comoving']:
            self.cosmological_simulation = 1
            self.current_redshift        = 1.0/self.current_time - 1.0
            self.omega_matter            = parameters['OmegaM0']
            self.omega_lambda            = 1.0 - self.omega_matter
            # default to 0.7 for old data format
            self.hubble_constant         = parameters.get('Hubble0', 0.7)
        else:
            self.cosmological_simulation = 0
            self.current_redshift        = 0.0
            self.omega_matter            = 0.0
            self.omega_lambda            = 0.0
            self.hubble_constant         = 0.0

        # make aliases to some frequently used variables
        if parameters['Model'] == 'Hydro' or parameters['Model'] == 'MHD':
            self.gamma = parameters["Gamma"]
            # default to 0.6 for old data format
            self.mu    = parameters.get('MolecularWeight', 0.6)

        # old data format (version < 2210) does not contain any information of code units
        self.parameters.setdefault('Opt__Unit', 0)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号