Geant4 新材料创建

        创建材料大致分为3步,第一个是同位素G4Isotope,第二个是元素或者说是原子G4Element,第三个是最大的也就是材料G4Material。

(1)首先是同位素定义

G4Isotope *isoHe3 = new G4Isotope("He3", 2, 3, 3. * g / mole);

创建一个氦-3 (He-3) 同位素,具有2个质子和3个核子,并设置其摩尔质量为3克/摩尔。

G4Element *elHe3 = new G4Element("elHe3", "He", 1);

elHe3->AddIsotope(isoHe3, 100. * perCent);

创建一个氦-3元素对象,将He-3同位素添加到氦-3元素中,赋予其100%的丰度。

(2)定义一种单独的材料

重点是材料,也就是说这是一种纯的由一种元素构成的可见物体,例如氧气等气体。就需要名字,原子序数,摩尔质量,密度。

(3)纯化合物构成的材料:

这种材料则是由单独一种纯化合物构成的材料。因为是化合物因此需要先定义原子。定义一个原子则需要:名字、元素符号、原子序数以及摩尔质量然后再是定义材料。

(4)以元素质量比的形式创建材料

    G4Material *matshale = new G4Material("shale", 2.57 * g / cm3, 12);//第三个参数是元素个数

    matshale->AddElement(elSi, 21.25 * perCent);//以元素质量比的方式添加元素

    matshale->AddElement(elAl, 6.12 * perCent);

    matshale->AddElement(elFe, 1.08 * perCent);

    matshale->AddElement(elMg, 1.5 * perCent);

    matshale->AddElement(elCa, 5.97 * perCent);

    matshale->AddElement(elNa, 0.19 * perCent);

    matshale->AddElement(elK, 1.69 * perCent);

    matshale->AddElement(elP, 0.04 * perCent);

    matshale->AddElement(elS, 0.51 * perCent);

    matshale->AddElement(elMn, 0.02 * perCent);

    matshale->AddElement(elTi, 0.27 * perCent);

matshale->AddElement(elO, 61.36 * perCent);

这种材料类似于定义混合物,只是以元素质量比的方式定义。另外一种定义方式:混合物

G4Material* formV11;

    density = 2.698 * g / cm3;

    formV11 = new G4Material(name = "formV11", density, 14);

    formV11->AddMaterial(SiO2, 0.797 * perCent);

    formV11->AddMaterial(Al2O3, 0.117 * perCent);

    formV11->AddMaterial(Fe2O3, 0.104 * perCent);

    formV11->AddMaterial(MgO, 0.94 * perCent);

    formV11->AddMaterial(CaO, 54.3 * perCent);

    formV11->AddMaterial(Na2O, 0.019 * perCent);

    formV11->AddMaterial(K2O, 0.041 * perCent);

    formV11->AddMaterial(MnO, 0.003 * perCent);

    formV11->AddMaterial(TiO2, 0.006 * perCent);

    formV11->AddMaterial(P2O5, 0.005 * perCent);

    formV11->AddMaterial(BaO, 0.002 * perCent);

    formV11->AddMaterial(Sulfur, 0.01 * perCent);

    formV11->AddMaterial(Water, 0.385 * perCent);

    formV11->AddMaterial(C02, 43.271 * perCent);

(5)材料的使用有两种方法

一种是将定义的材料直接写在construction里面。

另外一种是定义一个Material类,将材料写在里面,这样在任何地方修改材料都可以直接写名字。

还有一种接口的方式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值