CTSP (Contamination Transport Simulation Program) Log In


CTSP, (Contamination Transport Simulation Program) is a general-purpose particle tracing code used for modeling mass transport around complex surface geometries. As the name suggests, CTSP was originally developed to simulate redistribution of molecular or particulate contaminants that can be found in cleanrooms and space-like environments, such as vacuum chambers. Such contaminants arise naturally from the outgassing of volatile species (such as hydrocarbons) trapped within the atomic structure of organic materials (i.e. plastics) as well as from the fallout of atmospheric dust, fabric fibers, and shedding of paint flakes in moving components. Deposition of this foreign material can lead to various undesired outcomes, such as a reduced transmission or increased scatter in optical systems, or increased frictional drag in mechanical actuators. Other use cases for CTSP include simulations of pumping efficiency in vacuum chambers, simulations of water ice build up in cryogenic environments, characterization of plume impingement from space vehicle chemical thrusters, and simulations of regolith adhesion.


  • Input mesh formats: UNV, INPF, TSS, Nastran, OBJ, STL, TRI, VTK
  • Surface transformations: rotation, translation, scaling, surface dynamics
  • Restart capability: solution can be mapped to new geometry model to simulate deployments
  • Surface temperature: static or time varying, spatial variation from SINDA or point cloud data
  • Volumetric properties: point cloud data of ambient air flow or electric field
  • Rarefied flow: rudimentary support for DSMC
  • Material sources: Lambertian outgassing, Maxwellian plume, effusion, droplet evaporation, IEST-STD-CC1246 and ISO 14644 particulate distribution, tape lift, erosion
  • Surface models: sticking coefficient, residence time, saturation vapor pressure, coefficient of restitution, surface energy
  • File output: surface data such as deposition thickness or particulate cleanliness level, volumetric data such as contaminant number density and partial pressure, particle data for producing scatter plots, global time trends such as total amount of mass per surface group per time
  • Input file: support for variables and math expressions, conditional loop blocks


CTSP is, at the moment, a command line code driven by an input file. A GUI development is under way. Typical simulation consists of the following steps:

  1. The surface geometry is loaded from one or more files in common FEM or CAD formats.
  2. Surface properties are specified. This can include loading spatially and time-varying surface temperatures from thermal solvers.
  3. Material types and material sources are defined by attaching one of many generation models to surface element groups.
  4. Settings such as time step size and sequence iterations are then specified.
  5. The simulation is run with results store in Paraview-compatible format.

System Requirements

CTSP is currently compatible with Microsoft Windows, Linux Ubuntu, and Linux CentOs operating systems. MacOS support can be included if customer demand exists (in other words, contact us if interested in a Mac version). The actual system requirements depend on the simulation size. Typical runs, involving surface meshes containing around 100,000 surface triangles, and tracing tens of thousands of particles per time step for tens of thousands of time steps, require around 4 Gb of RAM and can be completed overnight utilizing a standard desktop system. CTSP also supports multithreading and parallelization over MPI. Note that MPI parallelization does not perform domain decomposition, but instead the particle population is redistributed among multiple processors.


Interested in trying CTSP? Begin by downloading a free version below. This version includes only a limited subset of all available commands but is sufficient to run the example "Hello World" case. The zip file contains executables for MS Windows and Linux Ubuntu.

Your Name:
Email Address:
Project Summary:

All above information is optional.
Check to confirm that you are not a bot


Contact us to purchase a license for the full version of CTSP. As of April 2024, the cost for a single user license is $3,250 USD. The license allows the named user to continue running the code indefinitely, however, it provides only one year of free upgrades. Upgrade cost is $1,250 USD. A new user license includes 8 hours of customer support that can be used for online training or for having us setup a representative simulation. Additional support hours can be purchased as needed.

We also offer a full suite of contamination control and analysis support services. This includes, but is not limited to, running mass transport analysis on our in-house computational resources using customer provided CAD geometries and material information. We can also assist with reviewing contamination control plans and thermal vacuum bakeout tests. Please contact us for more information and to request a quote.


Sign up below to stay informed about new code releases. You can unsubscribe anytime. Your information will not be shared with any third parties, and will be used solely to communicate CTSP-related updates.


User's guide: CTSP-UG.pdf (7.3 Mb).


Hello World

Example CTSP input file for a "Hello World" simulation of molecular contamination transport around a generic satellite is found below. This example starts by loading a surface mesh stored in the Universal .unv format. The mesh represents a generic satellite sourced from GrabCAD, with surface elements organized into several named groups such as 'source'. Next, a volume mesh is generated. The volume mesh is used only for visualization purposes, as CTSP does not use a volume mesh during the particle push in free-molecular simulations. Next, generic solid and gaseous materials are defined. Default parameters are assigned to all surfaces, which includes time invariant temperature and a constant sticking coefficient (the code supports more complex surface models). The temperature on the surface elements corresponding to the source group is increased to increase the outgassing rate. The amount of contaminant trapped in this group is specified next and outgassing is enabled. We also attach another material source that produces mass of constant flux with initial direction following the Lambertian (cosine) law. We then specify the surface and volumetric variables of interest to include in the output file, along with the number of time steps between file saves (for animations). The simulation is run for 500 time steps. The plots shown below were generated by loading simulation result files into Paraview.

# "Hello World" example of molecular transport around a generic satellite

#load surface, CAD model from https://grabcad.com/library/satellite-11

#define volume mesh for computing contaminant plume
volume_mesh{dx:0.02, dy:0.02, dz:0.02, expand:[0.5,0.5,0.5]}

#specify materials
solid_mat{name:blanketing, density:2000}
molecular_mat{name:hc1, weight:54, mpw:1e10, Ea:12, r:2.776e-10}

#specify surface properties
surface_props{comps:/.*/, mats:blanketing, temp:260, c_stick:0.3}
surface_props{comps:source, temp:1000}

#enable outgassing
load_molecules{comps:source, trapped_mass:1e-10, trapped_mats:hc1}

#alternative way to introduce molecules is by specifying surface sources
source_cosine{comps:source, mats:hc1, mass_flux:1e-3, v_drift:100}

#specify file output options
surface_save_vtk{file_name:surf, vars:[surf_height.hc1], skip:200}
volume_save_vtk{file_name:field, vars:[nd.hc1, p], skip:200}

#run simulation, perform screen/log file output every 5 time steps
run_sim{dt:1e-5, num_ts:500, log_skip:5}
Contaminant plume number density (top)
and surface deposition (bottom)

James Webb Space Telescope Ice Buildup

CTSP was also used in support of the James Webb Space Telescope. This simulation utilized 17 different geometry files using the Thermal Synthesizer System (TSS) format. Temporal variation in surface temperatures was provided in SINDA format. The analysis consisted of 200 individual simulations used to obtain steady-state net deposition rates along different time points spanning the first 180 days in orbit. Pictures below, taken from Reference [4], illustrate the evolution of ice on the cold observatory side, as well as the impact of surface temperature on the lack of ice on the warm, sun-facing spacecraft side. CTSP's ability to visualize volumetric contaminant concentration is also illustrated. This type of visualization is not possible with ray tracing and radiative heat transport codes.

Evolution of surface ice over first 180 days
No ice on warm, sun-facing side
Water vapor number density

Chamber Modeling

This section illustrates the use of CTSP for simulating vacuum chambers. These images are taken from Reference [3] in which CTSP was used to simulate a mass transport experiment conducted at University of Southern California Department of Astronautical Engineering. The experiment compared black-body flux directly observed by a QCM oriented at a sample to the gray-body flux picked up by a QCM facing a wall. As such, this experiment can be used to study wall re-emission models. Analogous experiment was performed in parallel at Blue Origin.

Concentration of outgassed material
Surface deposition

Purge Flow

CTSP can also be used to model dust particulates affected by aerodynamic forces. The example below illustrates the use of purge flow to limit particle fallout onto a hypothetical instrument.

Dust particulate fallout in a purge flow
Scatter plot of dust particulates

Rarefied Flow

While the majority of CTSP molecular transport simulations assume free molecular flow, CTSP can also be used to model the rarefied gas environment, such as encountered during vacuum chamber repressurization. Here we demonstrate this ability by utilizing Direct Simulation Monte Carlo (DSMC) to model flow through a nozzle.

DSCM modeling of rarefied gas flow


Recent publications involving CTSP:
  • [6] Brieda, L., Helou, E., Wang, J. “Towards modeling of charged dust dynamic at mesoscale resolution”, Trans. Plasma Science, Vol. 51, No. 9, 2023, (link)
  • [5] Brieda, L., Robertson, J. “Mesh-free contamination transport modeling using CAD geometries”, Contamination, Coatings, Materials, and Planetary Protection Workshop, NASA GSFC, Greenbelt, MD 2023
  • [4] Brieda, L., Laugharn, M., Woronowicz, M., Henderson-Nelson, K., May, C., Wooldridge, E. "Numerical study of water ice and molecular contamination build up during JWST deployment", SPIE Optics + Photonics, San Diego, CA, 2022, (link)
  • [3] Brieda, L., Helou, E., Zhao, T., Wang, J., Aranda, D., Green, V., Iqbal, S., "Experimental investigation of QCM-derived sticking coefficients for use in molecular transport simulations", SPIE Optics + Photonics, San Diego, CA, 2022, (link)
  • [2] R. Spektor, T. Matlock, M. Crofton, D. Schoeffler, L. Brieda, “Analytical pumping speed models for electric propulsion vacuum facilities”, Space Propulsion Conference, Seville, Spain, 2018
  • [1] Brieda, L., “Numerical model for molecular and particulate contamination transport”, J. Spacecraft & Rockets, Vol. 56, No. 2, 2019 (link)


For more information, contact Particle in Cell Consulting LLC at info@particleincell.com.