gov.nist.microanalysis.NISTMonte
Class PorousBlock

java.lang.Object
  extended by gov.nist.microanalysis.NISTMonte.PorousBlock

public class PorousBlock
extends java.lang.Object

Creates a block of material with randomly distributed pores.

Copyright: Pursuant to title 17 Section 105 of the United States Code this software is not subject to copyright protection and is in the public domain

Company: National Institute of Standards and Technology

Version:
1.0
Author:
Nicholas W. M. Ritchie

Constructor Summary
PorousBlock(MonteCarloSS mcss, double[] dimension)
          PorousBlock - Create a porous block of the specified dimensions (3 element array containing x,y and z dimensions in meters).
 
Method Summary
 MonteCarloSS.Region createRegion()
          createRegion - Create a region based on the current set of parameters.
 double estimatedPoreFraction()
          estimatePoreFraction - Returns an estimate of how much of the original volume of the substrate region is filled with pores.
 void setBulkMaterial(Material mat)
          setBulkMaterial - Set the material for the bulk of the region.
 void setParentRegion(MonteCarloSS.Region parent)
          setParentRegion - Set the parent region in which this region is created.
 void setPoreDensity(double density)
          setPoreDensity - Sets the density of pores in the bulk material.
 void setPoreRadius(double radius)
          setPoreRadius - Set the radius of the pores.
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

PorousBlock

public PorousBlock(MonteCarloSS mcss,
                   double[] dimension)
PorousBlock - Create a porous block of the specified dimensions (3 element array containing x,y and z dimensions in meters). The default bulk material is iron and the default pore material is vacuum. The default pore radius is 10 nm with a default density of 100 per cubic micrometer or 1e20 per cubic meter.

Parameters:
mcss - MonteCarloSS
dimension - double[]
Method Detail

setBulkMaterial

public void setBulkMaterial(Material mat)
setBulkMaterial - Set the material for the bulk of the region.

Parameters:
mat - Material

setPoreRadius

public void setPoreRadius(double radius)
setPoreRadius - Set the radius of the pores. All pores have the same radius.

Parameters:
radius - double

setPoreDensity

public void setPoreDensity(double density)
setPoreDensity - Sets the density of pores in the bulk material. The pore density is defined as the number of pores in one cubic meter of material. For comparison, a typical analytical volume is about 1 micrometer on an edge or a volume of 1.0e-18 meters cubed. One pore per micrometer cube would be equivalent to 1.0e18 pores per meter.

Parameters:
density - double

setParentRegion

public void setParentRegion(MonteCarloSS.Region parent)
setParentRegion - Set the parent region in which this region is created. By default (or if setParentRegion(null) is called) then the parent region is the chamber region.

Parameters:
parent - Region

createRegion

public MonteCarloSS.Region createRegion()
createRegion - Create a region based on the current set of parameters.

Returns:
Region

estimatedPoreFraction

public double estimatedPoreFraction()
estimatePoreFraction - Returns an estimate of how much of the original volume of the substrate region is filled with pores. The estimate accounts for overlapping pores in an average sense.

Returns:
double

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object