## com.esri.arcgis.geoprocessing.tools.spatialanalysttools Class PorousPuff

```java.lang.Object com.esri.arcgis.geoprocessing.AbstractGPTool com.esri.arcgis.geoprocessing.tools.spatialanalysttools.PorousPuff
```
All Implemented Interfaces:
GPTool

`public class PorousPuffextends AbstractGPTool`

Calculates the time-dependent, two-dimensional concentration distribution in mass per volume of a solute introduced instantaneously and at a discrete point into a vertically mixed aquifer. The Porous Puff tool is contained in the Spatial Analyst Tools tool box.

#### Usage tips:

• The effective porosity field, a physical property of the aquifer, is generally estimated from geological data. It is defined as the volume of void space that contributes to fluid flow divided by the entire volume. Porosity is expressed as a number between 0.0 and 1.0, with typical values around 0.35, and is dimensionless. A value of effective porosity of 0.35 means that 35 percent of the volume of the porous medium contributes to fluid flow. The remaining 65 percent, consisting of solid matrix and unconnected pores, does not contribute to fluid flow.
• No particular system of units is specified by this tool. It is important that all data be consistent, using the same unit for time (seconds, days, years), length (feet, meters), and mass (kilograms, slugs).
• The saturated thickness, measured in units of length, is interpreted from geological information. For a confined aquifer, this measure is the thickness of the formation between the upper and lower confining layers. For an unconfined aquifer, the saturated thickness is the distance between the water table and the lower confining layer.
• The decay coefficient ? is related to the half-life T1/2 as:For example, the half-life of Carbon-14 is 5,730 years, so its decay coefficient is ln2 = 0.693. So the equation becomes 0.693/5730 = 1.21x10-4 /year. A stable constituent has a decay coefficient of zero, corresponding to an infinite half-life. Half-lives of radioisotopes are available from several sources, including the CRC Handbook of Chemistry and Physics from .
• The requested time must not exceed the latest time recorded in the path file. Either a lesser time must be requested in Porous Puff, or a new path file with a greater time needs to be generated by Particle Track.
• The time requested should not be reached before the completion of the first path step as recorded in the track file. Either a greater time should be requested in Porous Puff, or a new track file should be generated by Particle Track using a shorter step length.
• The centroid of mass must not migrate to the edge of the raster or beyond. In this case, no data is available on which to base the dispersion, so the tool is aborted. Either a lesser time must be requested, or a larger raster must be generated to accommodate the migration.

Field Summary

Fields inherited from class com.esri.arcgis.geoprocessing.AbstractGPTool
`vals`

Constructor Summary
`PorousPuff()`
Creates the Porous Puff tool with defaults.
```PorousPuff(Object inTrackFile, Object inPorosityRaster, Object inThicknessRaster, Object outRaster, double mass)```
Creates the Porous Puff tool with the required parameters.

Method Summary
` double` `getDecayCoefficient()`
Returns the Decay coefficient parameter of this tool .
` double` `getDispersionTime()`
Returns the Dispersion time parameter of this tool .
` double` `getDispersivityRatio()`
Returns the Dispersivity ratio parameter of this tool .
` Object` `getInPorosityRaster()`
Returns the Input effective formation porosity raster parameter of this tool .
` Object` `getInThicknessRaster()`
Returns the Input saturated thickness raster parameter of this tool .
` Object` `getInTrackFile()`
Returns the Input particle track file parameter of this tool .
` double` `getLongitudinalDispersivity()`
Returns the Longitudinal dispersivity parameter of this tool .
` double` `getMass()`
Returns the Mass parameter of this tool .
` Object` `getOutRaster()`
Returns the Output raster parameter of this tool .
` double` `getRetardationFactor()`
Returns the Retardation factor parameter of this tool .
` String` `getToolboxAlias()`
Returns the alias of the tool box containing this tool.
` String` `getToolboxName()`
Returns the name of the tool box containing this tool.
` String` `getToolName()`
Returns the name of this tool.
` void` `setDecayCoefficient(double decayCoefficient)`
Sets the Decay coefficient parameter of this tool .
` void` `setDispersionTime(double dispersionTime)`
Sets the Dispersion time parameter of this tool .
` void` `setDispersivityRatio(double dispersivityRatio)`
Sets the Dispersivity ratio parameter of this tool .
` void` `setInPorosityRaster(Object inPorosityRaster)`
Sets the Input effective formation porosity raster parameter of this tool .
` void` `setInThicknessRaster(Object inThicknessRaster)`
Sets the Input saturated thickness raster parameter of this tool .
` void` `setInTrackFile(Object inTrackFile)`
Sets the Input particle track file parameter of this tool .
` void` `setLongitudinalDispersivity(double longitudinalDispersivity)`
Sets the Longitudinal dispersivity parameter of this tool .
` void` `setMass(double mass)`
Sets the Mass parameter of this tool .
` void` `setOutRaster(Object outRaster)`
Sets the Output raster parameter of this tool .
` void` `setRetardationFactor(double retardationFactor)`
Sets the Retardation factor parameter of this tool .

Methods inherited from class com.esri.arcgis.geoprocessing.AbstractGPTool
`getParameterValues, toString`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Constructor Detail

### PorousPuff

`public PorousPuff()`
Creates the Porous Puff tool with defaults.

Initializes the array of tool parameters with the default values specified when the tool was created.

### PorousPuff

```public PorousPuff(Object inTrackFile,
Object inPorosityRaster,
Object inThicknessRaster,
Object outRaster,
double mass)```
Creates the Porous Puff tool with the required parameters.

Initializes the array of tool parameters with the values as specified for the required parameters and with the default values for the other parameters.

Parameters:
`inTrackFile` - the input particle track path file. this is an ASCII text file containing information about the position, the local velocity vector, and the cumulative length and time of travel along the path. this file is generated using the Particle Track tool.
`inPorosityRaster` - the input raster where each cell value represents the effective formation porosity at that location.
`inThicknessRaster` - the input raster where each cell value represents the saturated thickness at that location. the value for the thickness is interpreted from geological properties of the aquifer.
`outRaster` - the output raster of the concentration distribution. each cell value represents the concentration at that location.
`mass` - a value for the amount of mass released instantaneously at the source point, in units of mass.
Method Detail

### getInTrackFile

`public Object getInTrackFile()`
Returns the Input particle track file parameter of this tool . This parameter is the input particle track path file. this is an ASCII text file containing information about the position, the local velocity vector, and the cumulative length and time of travel along the path. this file is generated using the Particle Track tool. This is a required parameter.

Returns:
the Input particle track file

### setInTrackFile

`public void setInTrackFile(Object inTrackFile)`
Sets the Input particle track file parameter of this tool . This parameter is the input particle track path file. this is an ASCII text file containing information about the position, the local velocity vector, and the cumulative length and time of travel along the path. this file is generated using the Particle Track tool. This is a required parameter.

Parameters:
`inTrackFile` - the input particle track path file. this is an ASCII text file containing information about the position, the local velocity vector, and the cumulative length and time of travel along the path. this file is generated using the Particle Track tool.

### getInPorosityRaster

`public Object getInPorosityRaster()`
Returns the Input effective formation porosity raster parameter of this tool . This parameter is the input raster where each cell value represents the effective formation porosity at that location. This is a required parameter.

Returns:
the Input effective formation porosity raster

### setInPorosityRaster

`public void setInPorosityRaster(Object inPorosityRaster)`
Sets the Input effective formation porosity raster parameter of this tool . This parameter is the input raster where each cell value represents the effective formation porosity at that location. This is a required parameter.

Parameters:
`inPorosityRaster` - the input raster where each cell value represents the effective formation porosity at that location.

### getInThicknessRaster

`public Object getInThicknessRaster()`
Returns the Input saturated thickness raster parameter of this tool . This parameter is the input raster where each cell value represents the saturated thickness at that location. the value for the thickness is interpreted from geological properties of the aquifer. This is a required parameter.

Returns:
the Input saturated thickness raster

### setInThicknessRaster

`public void setInThicknessRaster(Object inThicknessRaster)`
Sets the Input saturated thickness raster parameter of this tool . This parameter is the input raster where each cell value represents the saturated thickness at that location. the value for the thickness is interpreted from geological properties of the aquifer. This is a required parameter.

Parameters:
`inThicknessRaster` - the input raster where each cell value represents the saturated thickness at that location. the value for the thickness is interpreted from geological properties of the aquifer.

### getOutRaster

`public Object getOutRaster()`
Returns the Output raster parameter of this tool . This parameter is the output raster of the concentration distribution. each cell value represents the concentration at that location. This is a required parameter.

Returns:
the Output raster

### setOutRaster

`public void setOutRaster(Object outRaster)`
Sets the Output raster parameter of this tool . This parameter is the output raster of the concentration distribution. each cell value represents the concentration at that location. This is a required parameter.

Parameters:
`outRaster` - the output raster of the concentration distribution. each cell value represents the concentration at that location.

### getMass

`public double getMass()`
Returns the Mass parameter of this tool . This parameter is a value for the amount of mass released instantaneously at the source point, in units of mass. This is a required parameter.

Returns:
the Mass

### setMass

`public void setMass(double mass)`
Sets the Mass parameter of this tool . This parameter is a value for the amount of mass released instantaneously at the source point, in units of mass. This is a required parameter.

Parameters:
`mass` - a value for the amount of mass released instantaneously at the source point, in units of mass.

### getDispersionTime

`public double getDispersionTime()`
Returns the Dispersion time parameter of this tool . This parameter is a value representing the time horizon for dispersion of the solute, in units of time. the time must be less than or equal to the maximum time in the track file. If the requested time exceeds the available time from the track file, the tool is aborted. The default time is the latest time (corresponding to the terminal point) in the track file. This is an optional parameter.

Returns:
the Dispersion time

### setDispersionTime

`public void setDispersionTime(double dispersionTime)`
Sets the Dispersion time parameter of this tool . This parameter is a value representing the time horizon for dispersion of the solute, in units of time. the time must be less than or equal to the maximum time in the track file. If the requested time exceeds the available time from the track file, the tool is aborted. The default time is the latest time (corresponding to the terminal point) in the track file. This is an optional parameter.

Parameters:
`dispersionTime` - a value representing the time horizon for dispersion of the solute, in units of time. the time must be less than or equal to the maximum time in the track file. If the requested time exceeds the available time from the track file, the tool is aborted. The default time is the latest time (corresponding to the terminal point) in the track file.

### getLongitudinalDispersivity

`public double getLongitudinalDispersivity()`
Returns the Longitudinal dispersivity parameter of this tool . This parameter is a value representing the dispersivity parallel to the flow direction. for details on how the default value is determined, and how it relates to the scale of the study, consult see the How Porous Puff works section in the documentation. This is an optional parameter.

Returns:
the Longitudinal dispersivity

### setLongitudinalDispersivity

`public void setLongitudinalDispersivity(double longitudinalDispersivity)`
Sets the Longitudinal dispersivity parameter of this tool . This parameter is a value representing the dispersivity parallel to the flow direction. for details on how the default value is determined, and how it relates to the scale of the study, consult see the How Porous Puff works section in the documentation. This is an optional parameter.

Parameters:
`longitudinalDispersivity` - a value representing the dispersivity parallel to the flow direction. for details on how the default value is determined, and how it relates to the scale of the study, consult see the How Porous Puff works section in the documentation.

### getDispersivityRatio

`public double getDispersivityRatio()`
Returns the Dispersivity ratio parameter of this tool . This parameter is a value representing the ratio of longitudinal dispersivity over transverse dispersivity. transverse dispersivity is perpendicular to the flow direction in the same horizontal plane. The default value is three. This is an optional parameter.

Returns:
the Dispersivity ratio

### setDispersivityRatio

`public void setDispersivityRatio(double dispersivityRatio)`
Sets the Dispersivity ratio parameter of this tool . This parameter is a value representing the ratio of longitudinal dispersivity over transverse dispersivity. transverse dispersivity is perpendicular to the flow direction in the same horizontal plane. The default value is three. This is an optional parameter.

Parameters:
`dispersivityRatio` - a value representing the ratio of longitudinal dispersivity over transverse dispersivity. transverse dispersivity is perpendicular to the flow direction in the same horizontal plane. The default value is three.

### getRetardationFactor

`public double getRetardationFactor()`
Returns the Retardation factor parameter of this tool . This parameter is a dimensionless value representing the retardation of the solute in the aquifer. retardation varies between one and infinity, with one corresponding to no retardation. The default value is one. This is an optional parameter.

Returns:
the Retardation factor

### setRetardationFactor

`public void setRetardationFactor(double retardationFactor)`
Sets the Retardation factor parameter of this tool . This parameter is a dimensionless value representing the retardation of the solute in the aquifer. retardation varies between one and infinity, with one corresponding to no retardation. The default value is one. This is an optional parameter.

Parameters:
`retardationFactor` - a dimensionless value representing the retardation of the solute in the aquifer. retardation varies between one and infinity, with one corresponding to no retardation. The default value is one.

### getDecayCoefficient

`public double getDecayCoefficient()`
Returns the Decay coefficient parameter of this tool . This parameter is decay coefficient for solutes undergoing first-order exponential decay (for example, radionuclides) in units of inverse time. the default is zero, corresponding to no decay. This is an optional parameter.

Returns:
the Decay coefficient

### setDecayCoefficient

`public void setDecayCoefficient(double decayCoefficient)`
Sets the Decay coefficient parameter of this tool . This parameter is decay coefficient for solutes undergoing first-order exponential decay (for example, radionuclides) in units of inverse time. the default is zero, corresponding to no decay. This is an optional parameter.

Parameters:
`decayCoefficient` - decay coefficient for solutes undergoing first-order exponential decay (for example, radionuclides) in units of inverse time. the default is zero, corresponding to no decay.

### getToolName

`public String getToolName()`
Returns the name of this tool.

Returns:
the tool name

### getToolboxName

`public String getToolboxName()`
Returns the name of the tool box containing this tool.

Returns:
the tool box name

### getToolboxAlias

`public String getToolboxAlias()`
Returns the alias of the tool box containing this tool.

Returns:
the tool box alias