9个版本

0.3.0 2020年11月16日
0.2.3 2020年11月12日
0.1.3 2020年9月22日

#rt中排名第8

MIT/ApacheGPL-3.0 许可证

8MB

mcrt

蒙特卡洛辐射传输工具

ANTLER crate ANTLER documentation minimum rustc 1.47 Build Status

输入是参数文件。示例参数文件:parameters.json5

{
    tree    : { Here    : {                                                     // Use these tree settings.
        tar_tris    : 5,                                                        // Target num triangles per leaf cell.
        max_depth   : 6,                                                        // Maximum tree splitting depth.
        padding     : 0.01,                                                     // Fraction to increase leaf cells dimensions during detection.
    }},
    grid    : { Here    : {                                                     // Use these grid settings.
        boundary: {                                                             // Grid bounds.
            mins: [-10, -10, -10],                                              // Minimum bound.
            maxs: [ 10,  10,  10],                                              // Maximum bound.
        },
        res: [64, 64, 64],                                                      // Grid resolution.
    } },
    sett    : { Here    : {                                                     // Use these simulation settings.
        num_phot            : 1e6,                                              // Number of photons to simulate.
        block_size          : 1e2,                                              // Photons to simulate per block.
        bump_dist           : 1e-6,                                             // Bump distance.
        loop_limit          : 1e6,                                              // Maximum number of events before culling.
        min_weight          : 5e-2,                                             // Minimum simulation weight.
        roulette_barrels    : 8,                                                // Roulette survival fraction.
        init_mat            : 'air',                                            // Emission material.
    } },
    engine  : "Basic",                                                          // Operation engine selection.
    light   : { Here    : {                                                     // Use these light settings.
        power       : 1.0,                                                      // Power [watts].
        emit        : { Surface: [['objs/light.obj'], null] },                  // Emit from a mesh surface - no transformations.
        spec        : { Here: {Point: 6.3e-7}},                                 // Use this laser spectrum (630nm).
    } },
    mats    : { Here    : {                                                     // Use this material map.
        air : { There   : 'mats/air.json5' },                                   // Air properties there.
        fog : { There   : 'mats/fog.json5' },                                   // Fog properties there.
    } },
    attrs   : { Here    : {                                                     // Use these attributes.
        mirr    : { Mirror: 0.99 },                                             // 99% reflective mirror.
        fog     : { Refractive: ['air', 'fog'] },                               // Interface between air and fog.
    } },
    surfs   : { Here    : {                                                     // Use these surfaces.
            centrepiece : {
                mesh    : [["objs/cube.obj"], {scale: 1.1} ],                   // Use this surface - scale it up 10%.
                attr    : 'fog',                                                // Make it an interface.
            },
            mirror      : {
                mesh    : [["objs/mirrors.obj"], null],                         // Use this surface - no transformations.
                attr    : 'mirr',                                               // Make it reflective.
            }
    } },
}

输出为netcdf数据立方体。例如,上述输入的能量密度:图像信息

依赖关系

~16–27MB
~397K SLoC