Package gov.nist.microanalysis.NISTMonte

Examples of gov.nist.microanalysis.NISTMonte.IMaterialScatterModel


        // Geometry
        List<RegionBase> regions = mcss.getChamber().getSubRegions();
        RegionBase region;
        Material material;
        IMaterialScatterModel model;
        String key;
        for (int i = 0; i < regions.size(); i++) {
            key = "geometry.region." + i + ".";
            region = regions.get(i);
            material = region.getMaterial();
            model = region.getScatterModel();

            props.setProperty(key + "material.name", material.getName());
            props.setProperty(key + "material.density",
                    Double.toString(material.getDensity()));
            props.setProperty(key + "model.absorptionEnergy",
                    Double.toString(FromSI.eV(model.getMinEforTracking())));
        }

        // Model
        Strategy strategy = AlgorithmUser.getGlobalStrategy();
        for (String algClass : strategy.listAlgorithmClasses()) {
View Full Code Here




    protected void createGeometry(Region chamber) throws EPQException {
        Material mat = MaterialFactory.createPureElement(Element.Au);
        IMaterialScatterModel model = new BasicMaterialModel(mat);

        double dim = 0.01; // 1 mm
        double[] dims = new double[] { dim, dim, dim };
        double[] pos = new double[] { 0.0, 0.0, -dim / 2.0 };
        MultiPlaneShape shape = MultiPlaneShape.createBlock(dims, pos, 0, 0, 0);
View Full Code Here

    protected static Element createMaterialsElement() throws EPQException {
        Element element = new Element("materials");

        Material mat = MaterialFactory.createCompound("Si3N4", 3.44);
        IMaterialScatterModel model = new BasicMaterialModel(mat);
        model.setMinEforTracking(ToSI.eV(1234));
        element.addContent(createMaterialElement(model, 1));

        mat = MaterialFactory.createCompound("Al2O3", 4.53);
        model = new BasicMaterialModel(mat);
        model.setMinEforTracking(ToSI.eV(4321));
        element.addContent(createMaterialElement(model, 2));

        mat =
                MaterialFactory
                        .createPureElement(gov.nist.microanalysis.EPQLibrary.Element.Au);
        model = new BasicMaterialModel(mat);
        model.setMinEforTracking(ToSI.eV(50));
        element.addContent(createMaterialElement(model, 3));

        return element;
    }
View Full Code Here

        // Test
        assertEquals(1, chamber.getSubRegions().size());
        RegionBase region = chamber.getSubRegions().get(0);

        IMaterialScatterModel model = region.getScatterModel();
        assertEquals(1234, FromSI.eV(model.getMinEforTracking()), 1e-4);

        Material mat = region.getMaterial();
        assertEquals("Si3N4", mat.getName());
        assertEquals(3.44, mat.getDensity(), 1e-2);
        assertEquals(2, mat.getElementSet().size());
View Full Code Here

        // Test
        assertEquals(2, chamber.getSubRegions().size());

        RegionBase region = chamber.getSubRegions().get(0);

        IMaterialScatterModel model = region.getScatterModel();
        assertEquals(1234, FromSI.eV(model.getMinEforTracking()), 1e-4);

        Material mat = region.getMaterial();
        assertEquals("Si3N4", mat.getName());
        assertEquals(3.44, mat.getDensity(), 1e-2);
        assertEquals(2, mat.getElementSet().size());

        region = chamber.getSubRegions().get(1);

        model = region.getScatterModel();
        assertEquals(4321, FromSI.eV(model.getMinEforTracking()), 1e-4);

        mat = region.getMaterial();
        assertEquals("Al2O3", mat.getName());
        assertEquals(4.53, mat.getDensity(), 1e-2);
        assertEquals(2, mat.getElementSet().size());
View Full Code Here

        assertEquals(3, chamber.getSubRegions().size());

        // Test layer 1
        RegionBase region = chamber.getSubRegions().get(0);

        IMaterialScatterModel model = region.getScatterModel();
        assertEquals(1234, FromSI.eV(model.getMinEforTracking()), 1e-4);

        Material mat = region.getMaterial();
        assertEquals("Si3N4", mat.getName());
        assertEquals(3.44, mat.getDensity(), 1e-2);
        assertEquals(2, mat.getElementSet().size());

        Shape shape = region.getShape();
        assertFalse(shape.contains(new double[] { 0.0, 0.0, 0.01 })); // above
        assertTrue(shape.contains(new double[] { 0.0, 0.0, -25e-9 })); // in
        assertFalse(shape.contains(new double[] { 0.0, 0.0, -0.01 })); // below

        // Test layer 2
        region = chamber.getSubRegions().get(1);

        model = region.getScatterModel();
        assertEquals(4321, FromSI.eV(model.getMinEforTracking()), 1e-4);

        mat = region.getMaterial();
        assertEquals("Al2O3", mat.getName());
        assertEquals(4.53, mat.getDensity(), 1e-2);
        assertEquals(2, mat.getElementSet().size());

        shape = region.getShape();
        assertFalse(shape.contains(new double[] { 0.0, 0.0, -25e-9 })); // above
        assertTrue(shape.contains(new double[] { 0.0, 0.0, -125e-9 })); // in
        assertFalse(shape.contains(new double[] { 0.0, 0.0, -0.01 })); // below

        // Test substrate
        region = chamber.getSubRegions().get(2);

        model = region.getScatterModel();
        assertEquals(50.0, FromSI.eV(model.getMinEforTracking()), 1e-4);

        mat = region.getMaterial();
        assertEquals("Pure gold", mat.getName());
        assertEquals(19300, mat.getDensity(), 1e-2);
        assertEquals(1, mat.getElementSet().size());
View Full Code Here

        assertEquals(3, chamber.getSubRegions().size());

        // Test left substrate
        RegionBase region = chamber.getSubRegions().get(0);

        IMaterialScatterModel model = region.getScatterModel();
        assertEquals(1234, FromSI.eV(model.getMinEforTracking()), 1e-4);

        Material mat = region.getMaterial();
        assertEquals("Si3N4", mat.getName());
        assertEquals(3.44, mat.getDensity(), 1e-2);
        assertEquals(2, mat.getElementSet().size());

        Shape shape = region.getShape();
        assertFalse(shape.contains(new double[] { 0.0, 0.0, 0.01 })); // above
        assertTrue(shape.contains(new double[] { -80e-9, 0.0, -50e-8 })); // in
        assertFalse(shape.contains(new double[] { 0.0, 0.0, -50e-8 })); // right

        // Test layer
        region = chamber.getSubRegions().get(1);

        model = region.getScatterModel();
        assertEquals(4321, FromSI.eV(model.getMinEforTracking()), 1e-4);

        mat = region.getMaterial();
        assertEquals("Al2O3", mat.getName());
        assertEquals(4.53, mat.getDensity(), 1e-2);
        assertEquals(2, mat.getElementSet().size());

        shape = region.getShape();
        assertFalse(shape.contains(new double[] { 0.0, 0.0, 0.01 })); // above
        assertFalse(shape.contains(new double[] { -80e-9, 0.0, -50e-8 })); // left
        assertTrue(shape.contains(new double[] { 0.0, 0.0, -50e-8 })); // in
        assertFalse(shape.contains(new double[] { 80e-9, 0.0, -50e-8 })); // right

        // Test right substrate
        region = chamber.getSubRegions().get(2);

        model = region.getScatterModel();
        assertEquals(50.0, FromSI.eV(model.getMinEforTracking()), 1e-4);

        mat = region.getMaterial();
        assertEquals("Pure gold", mat.getName());
        assertEquals(19300, mat.getDensity(), 1e-2);
        assertEquals(1, mat.getElementSet().size());
View Full Code Here

            int index;
            String name;
            double density, absorptionEnergyElectron;
            Composition composition;
            Material material;
            IMaterialScatterModel scatterModel;
            for (Element materialElement : materialsElement.getChildren()) {
                try {
                    index =
                            materialElement.getAttribute("_index")
                                    .getIntValue();
                } catch (DataConversionException e) {
                    throw new IOException(e);
                }

                name = materialElement.getAttribute("name").getValue();

                try {
                    density =
                            materialElement.getAttribute("density")
                                    .getDoubleValue();
                } catch (DataConversionException e) {
                    throw new IOException(e);
                }

                absorptionEnergyElectron = 50.0;
                for (Element absEnergyElement : materialElement
                        .getChildren("absorptionEnergy")) {
                    if (absEnergyElement.getAttribute("particle").getValue() != "electron")
                        continue;
                    absorptionEnergyElectron =
                            Double.parseDouble(absEnergyElement.getText());
                }

                composition = extractComposition(materialElement);

                material = new Material(composition, density);
                material.setName(name);

                scatterModel = new BasicMaterialModel(material);
                scatterModel.setMinEforTracking(ToSI
                        .eV(absorptionEnergyElectron));

                materials.put(index, scatterModel);
            }
View Full Code Here

                        bodyElement.getAttribute("material").getIntValue();
            } catch (DataConversionException e) {
                throw new IOException(e);
            }

            IMaterialScatterModel material = materials.get(materialIndex);

            // Create shape
            double[] normal = Math2.Z_AXIS;
            double[] pt = Math2.ORIGIN_3D;
            MultiPlaneShape shape =
View Full Code Here

                        substrateElement.getAttribute("material").getIntValue();
            } catch (DataConversionException e) {
                throw new IOException(e);
            }

            IMaterialScatterModel substrateMaterial =
                    materials.get(substrateMaterialIndex);

            // Inclusion
            Element inclusionElement = geometryElement.getChild("inclusion");

            int inclusionMaterialIndex;
            try {
                inclusionMaterialIndex =
                        inclusionElement.getAttribute("material").getIntValue();
            } catch (DataConversionException e) {
                throw new IOException(e);
            }

            IMaterialScatterModel inclusionMaterial =
                    materials.get(inclusionMaterialIndex);

            double radius;
            try {
                radius =
View Full Code Here

TOP

Related Classes of gov.nist.microanalysis.NISTMonte.IMaterialScatterModel

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.