コード例 #1
0
ファイル: correlate.py プロジェクト: vanceeasleaf/DynaPhoPy
def get_correlation_spectra_serial(vq, trajectory, parameters):
    test_frequency_range = np.array(parameters.frequency_range)

    correlation_vector = np.zeros((len(test_frequency_range),vq.shape[1]),dtype=float)
    progress_bar(0)
    for i in range (vq.shape[1]):
        for k, frequency in enumerate(test_frequency_range):
            angular_frequency = frequency * 2 * np.pi # Frequency(THz) -> angular frequency (rad/ps)
            correlation_vector[k,i] = correlation.correlation2(angular_frequency,
                                                               vq[:, i],
                                                               trajectory.get_time_step_average(),
                                                               step=parameters.correlation_function_step,
                                                               integration_method=parameters.integration_method)
        progress_bar(float(i+1)/vq.shape[1])

    return correlation_vector
コード例 #2
0
ファイル: correlate.py プロジェクト: vanceeasleaf/DynaPhoPy
def correlation_worker(n_pos, test_frequencies_range, vq, trajectory,correlation_function_step):
#    print('starting:',n_pos,'Time step:',trajectory.get_time_step_average(),'Frame skip:',correlation_function_step)

    correlation_range = []
    for k, frequency in enumerate(test_frequencies_range):
        angular_frequency = frequency * 2 * np.pi # Frequency(THz) -> angular frequency (rad/ps)
        # integration_method:        0 Trapezoid method (slow)     1 Rectangle method (fast)
        #correlation_range.append(correlation.correlation(angular_frequency,vq,trajectory.get_time(),step=correlation_function_step,integration_method=1))

        correlation_range.append(correlation.correlation2(angular_frequency,
                                                          vq,
                                                          trajectory.get_time_step_average(),
                                                          step=correlation_function_step,
                                                          integration_method=1))
#    print('finishing',n_pos)
    return {n_pos:correlation_range}