예제 #1
0
            #grain_ids_2[i] = grain_ids_coarse[ci]
            surface_voxels_2, gb_voxels_2, interface_voxels_2 = ccb_c.calc_surface_prop(M, grain_ids_2)
            ccb_c.make_mcp_bound(M, grain_ids_2, gb_voxels_2, overlaps_0, voxel_indices_0, np.int(mc_steps*M**4), kBT)
            phases_2, good_voxels_2, euler_angles_2, phase_volumes_2, grain_volumes_2 = ccb_c.calc_grain_prop(M, grain_ids_2, trunc_triangles)
        else:
            surface_voxels_2, gb_voxels_2, interface_voxels_2 = surface_voxels_0, gb_voxels_0, interface_voxels_0
            phases_2, good_voxels_2, euler_angles_2, phase_volumes_2, grain_volumes_2 = phases_0, good_voxels_0, euler_angles_0, phase_volumes_0, grain_volumes_0

        sum_gb_voxels_2 = np.sum(gb_voxels_2)
        contiguity_2.append( sum_gb_voxels_2 / np.float(sum_gb_voxels_2 + np.sum(interface_voxels_2)) )

        d_eq_2.append(np.mean(np.cbrt(6./np.pi * grain_volumes_2 * ((L/M)**3))))

        #ccb.write_hdf5(fname + '.dream3d', 3*[M], 3*[delta_x], trunc_triangles, grain_ids_2, phases_2, good_voxels_2,
        #               euler_angles_2, surface_voxels_2, gb_voxels_2, interface_voxels_2, overlaps_0)
        ccb.write_oofem_transport(fname + "_tm", 3*[M], 3*[delta_x], phases_2)

    co_fracs_mean.append(np.mean(vol_frac_Co_0))
    co_fracs_std.append(np.std(vol_frac_Co_0))

    cont_mean.append(np.mean(contiguity_0))
    cont_std.append(np.std(contiguity_0))
    cont_potts_mean.append(np.mean(contiguity_2))
    cont_potts_std.append(np.std(contiguity_2))

    d_eq_mean.append(np.mean(d_eq_0))
    d_eq_std.append(np.std(d_eq_0))
    d_eq_potts_mean.append(np.mean(d_eq_2))
    d_eq_potts_std.append(np.std(d_eq_2))

if True: