<HTML>
<CENTER><A HREF = "https://sparta.github.io">SPARTA WWW Site</A> - <A HREF = "Manual.html">SPARTA Documentation</A> - <A HREF = "Section_commands.html#comm">SPARTA Commands</A> 
</CENTER>






<HR>

<H3>surf_react adsorb command 
</H3>
<P><B>Syntax:</B>
</P>
<PRE>surf_react ID adsorb model infile(s) Nsync type temp n_sites adsp1 adsp2 ... 
</PRE>
<UL><LI>ID = user-assigned name for the surface reaction model 

<LI>style = <I>adsorb</I> 

<LI>model = <I>gs</I> or <I>ps</I> or <I>gs/ps</I> 

<PRE>  gs = gas-surface reactions
  ps = pure-surface reactions
  gs/ps = both gas-surface and pure-surface reactions 
</PRE>
<LI>infile(s) = file(s) with list of surface chemistry reactions 

<PRE>  one file for model <I>gs</I> or <I>ps</I>
  two files for model </I>gs/ps</I>, gs file first, ps file second 
</PRE>
<LI>Nsync = perform PS reactions and sync across processors every this many timesteps 

<LI>type = <I>face</I> or <I>surf</I> 

<PRE>  face = domain boundary treated as a surface
  surf = surface elements = triangles in 3d, lines in 2d 
</PRE>
<LI>temp = temperature of the surface
n_sites = # of available adsorption sites per unit area (3D) or length (2D) 

<LI>adsp1,adsp2,... = list of species that can adsorb on surface 


</UL>
<P><B>Examples:</B>
</P>
<PRE>surf_react adsorb gs gs_react.surf nsync 10 surf 1000 6.022e18 O CO
surf_react adsorb gs/ps gs_react.surf ps_react.surf nsync 1 face 300 3e9 O 
</PRE>
<P><B>Description:</B>
</P>
<P>Define a model for surface chemistry reactions to perform when
particles collide with surface elements or the global boundaries
(faces) of the simulation box, which enables the particles to adsorb
to the surface.  This model also has an option to encode chemical
reactions that can occur on the surface itself.
</P>
<P>One or more models can be defined and assigned to different surfaces
or simulation box boundaries via the <A HREF = "surf_modify.html">surf_modify</A> or
<A HREF = "bound_modify.html">bound_modify</A> commands.  See <A HREF = "Section_howto.html#howto_9">Section
6.9</A> for more details of how SPARTA defines
surfaces as collections of geometric elements, triangles in 3d and
line segments in 2d.  Also see the <A HREF = "react.html">react</A> command for
specification of a gas-phase chemistry reaction model.
</P>
<P>The per-surface element species state computed and updated by this
command can be output via the <A HREF = "dump.html">dump surf</A> command, using the
<I>s_name</I> syntax to output any of the 5 custom surface state variables
created by this surface reaction model.  They are as follows:
</P>
<UL><LI>nstick_species = per-surf array with per-species counts
<LI>nstick_total = per-surf vector with total count of all species
<LI>area = per-surf area vector
<LI>weight = per-surf weight vector
<LI>tau = per-surf time-counter vector (see below) 
</UL>
<P>See the examples/surf_react_adsorb dir for scripts that use this
surface reaction model.
</P>
<P>The ID for a surface reaction model is used to identify it in other
commands.  Each surface reaction model ID must be unique.  The ID can
only contain alphanumeric characters and underscores.
</P>
<P>In this <I>adsorb</I> style, gas particles can adsorb on the surface.
Adsorbed particles can then undergo reactions with other adsorbed
particles as well as with new gas-phase particles that strike the
surface.  Each surface element stores its "state" for the counts of
different particle species currently adsorbed on the element, which
alters the probablity for future reactions to take place.
</P>
<P>When a particle adsorbs on the surface, a gas particle is deleted and
the number of adsorbed particles of that particular species is
incremented.  When a particle desorbs from the surface, a new gas
particle is created and the surface count is decremented.  The exact
location of the adsorbed particles is not stored; they are assumed to
uniformly distributed across the surface element.
</P>
<P>One of three options is specified by the <I>model</I> keyword: <I>gs</I> or <I>ps</I>
or <I>gs/ps</I>.  This specifies one of two types of reactions to perform,
or both in the <I>gs/ps</I> case.
</P>
<P>Gas-surface (GS) reactions involve both gas-phase and adsorbed/bulk
species as reactants.  Hence GS reactions occur when gas particles
collide with the surface.  Pure-surface (PS) reactions involve only
adsorbed/bulk reactants and do not include any gas-phase atoms or
molecules.  They are performed once every <I>Nsync</I> timesteps based on
the current surface coverage of the various adsorbed species.
</P>
<P>For GS reactions, when a particle collides with a surface element or
boundary, the list of all reactions possible with that species as the
reactant is looped over.  A probability for each reaction is
calculated, using the formulas discussed below, and a random number is
used to decide which reaction (if any) takes place.  A check is made
that the sum of probabilities for all possible reactions is <= 1.0,
which should normally be the case if reasonable reaction coefficients
are defined.
</P>
<P>For PS reactions, a time counter algorithm is used.  Each reaction has
a time counter <I>tau</I> that is increased by a value of <I>nsync*timestep</I>
if all the reactants are available.  The rate for each reaction <I>R</I> is
computed based on the specified reaction rate constants as well as the
surface coverage of the reactants. The product of the rate <I>R</I> and
time counter <I>tau</I> is normalized to obtain the probability for each of
reaction; and a random number is used to decide which reaction occurs.
The chosen reaction is perforemd and its time counter is modified as
follows:
</P>
<CENTER><IMG SRC = "Eqs/time_counter.png">
</CENTER>
<P>Next the probabilities of each reaction are recomputed and a new
reaction is chosen based on these probabilties and performed.  This
process is repeated till the probability of all the reactions reaches
zero. A detailed description can be found in Swaminathan Gopalan <I>et
al.</I> <A HREF = "#SG18">(SG18)</A>.
</P>
<HR>

<P>The infile argument(s) specify one or two filenames which contain a
list of GS or PS reactions and their associated parameters.  Two files
must be specified for the <I>gs/ps</I> model: a GS file first and a PS file
second.
</P>
<P>The reactions are read into SPARTA and stored as a list.  Each time a
simulation is run the list is scanned, and only active reactions are
flagged.  In order for a reaction to be active, all the reactants and
all the products must be currently defined as species-IDs; and also
all the surface reactants and products must be present within the list
of species that are allowed to adsorb on the surface.  The list of
surface species is provided at the end of the surf_react adsorb
command via the adsp1, adsp2, etc arguments.
</P>
<P>Note that this means the reaction file(s) can contain more reactions
than are used in a particular simulation.  
</P>
<P>As explained below each reaction has a specified probability between
0.0 and 1.0.  That probability is used to choose which reaction (if
any) is performed.
</P>
<P>The format of either a GS or PS reaction file is as follows.  Comments
or blank lines are allowed in the file.  Comment lines start with a
"#" character.  All other entries must come in 2 or more lines with
values separated by whitespace in the following format
</P>
<PRE>R1(g) + R2(s) + R3(b) --> P1(g) + P2(s) + P3(b)
reaction-type reaction-style C1 C2 ... 
scattering-model args 
</PRE>
<P>The first line is a text-based description of a single reaction. R1,
R2, and R3 are the reactants; while P1, P2, and P3 are the products
listed as a <A HREF = "species.html">species</A> IDs.  The phase of the reactants
and products are species in the brackets immediately following the
species ID (no space).  It can be one of the following
</P>
<PRE>(g) - gas phase = gas particle striking or scattering from the surface
(s) - surface phase = adsorbed particle present on the surface
(b) - bulk phase = material which the surface is made of 
</PRE>
<P>For a GS reaction, R1 must be a gas-phase reactant.  I.e. the particle
species that collides with the surface/boundary.  For a PS reaction,
R1 must be an adsorbed or bulk-phase species.
</P>
<P>Individual reactants and products must be separated by whitespace and
a "+" sign. The left-hand and right-hand sides of the equation must be
separated by whitespace and "-->".  The <I>type</I> of each reaction is a
string of characters (upper or lower case).  The different types of GS
and PS reactions are described below.
</P>
<HR>

<P>The allowed types for GS reactions is as follows:
</P>
<UL><LI>AA = Associative Adsorption
<LI>DA = Dissociative Adsorption
<LI>LH1 = Langmuir-Hinshelwood mechanism of type 1
<LI>LH3 = Langmuir-Hinshelwood mechanism of type 3 
<LI>CD = Condensation reaction
<LI>ER = Eley-Rideal mechanism 
<LI>CI = Collision-induced reaction 
</UL>
<P>An associative adsorption (AA) reaction means that R1(g) adsorbs on the
surface to form P1(s) when it collides with the surface/boundary.
</P>
<P>A dissociative adsorption (DA) reaction means that R1(g) dissociates
when it collides with the surface/boundary. One or more of the
dissociated products can adsorb on the surface and the rest of them
scatter as gas-phase products.
</P>
<P>A Langmuir-Hinshelwood reaction of type 1 (LH1) means that R1(g)
adsorbs on the surface when it collides with the surface/boundary, and
reacts quickly with the adsorbed species R2(s) or bulk-phase species
R2(b) on the surface to form gas-phase product P1(g).
</P>
<P>A Langmuir-Hinshelwood reaction of type 3 (LH3) means that R1(g)
adsorbs on the surface when it collides with the surface/boundary, and
reacts quickly with the adsorbed species R2(s) or bulk-phase species
R2(b) on the surface to form adsorbed product P1(s).
</P>
<P>A condensation reaction (CR) means that R1(g) coalesces with the bulk
material with which the surface is made of, when it collides with the
surface/boundary to form bulk-phase product P1(b).
</P>
<P>An Eley-Rideal (ER) reaction means that R1(g) reacts quickly with
adsorbed species R2(s) or bulk species R2(b) when it collides with the
surface/boundary to form gas-phase product P1(g).
</P>
<P>A collision-induced (CI) reaction means that R1(g) causes the
desorption of adsorbed species R2(s) when it collides with the
surface/boundary to form gas-phase products P1(g) (same species as
R2). The incident gas-phase particle can either adsorb P2(s) or
scatter from the surface P2(g) post collision.
</P>
<P>A detailed description of the various types of reactions can be found
in Swaminathan Gopalan <I>et al.</I> <A HREF = "#SG18">(SG18)</A>.  Here is a table of
examples for each type of GS reaction.
</P>
<CENTER><IMG SRC = "Eqs/GS_list.png">
</CENTER>
<HR>

<P>The allowed types for  PS reactions is as follows:
</P>
<UL><LI>DS = Desorption reaction
<LI>LH2 = Langmuir-Hinshelwood mechanism of type 2
<LI>LH4 = Langmuir-Hinshelwood mechanism of type 4 
<LI>SB = Sublimation reaction 
</UL>
<P>A desorption reaction (DR) means that R1(s) desorbs from the surface
to form P1(g) whose final velocities are determined by the provided
scattering model.
</P>
<P>A Langmuir-Hinshelwood reaction of type 2 (LH2) means that R1(s)
adsorbed on the surface reacts with another adsorbed species R2(s) or
bulk-phase species R2(b) on the surface to form gas-phase product
P1(g).
</P>
<P>A Langmuir-Hinshelwood reaction of type 4 (LH4) means that R1(s)
adsorbed on the surface reacts with another adsorbed species R2(s) or
bulk-phase species R2(b) on the surface to form adsorbed product
P1(s).
</P>
<P>A sublimation reaction (SR) means that R1(b), the bulk material
undergoes a transformation from solid to gas, to form gas-phase
product P1(g).
</P>
<P>A detailed description of the various types of reactions can be found
in Swaminathan Gopalan <I>et al.</I> <A HREF = "#SG18">(SG18)</A>.  Here is a table of
examples for each type of PS reaction.
</P>
<CENTER><IMG SRC = "Eqs/PS_list.png">
</CENTER>
<HR>

<P>The <I>style</I> of each reaction is a single character (upper or lower
case) with the following meaning:
</P>
<UL><LI>S = Simple
<LI>A = Arrhenius 
</UL>
<P>IMPORTANT: The style of the reaction determines how many reaction
coefficients are listed as C1, C2, etc, and how they are interpreted
by SPARTA.
</P>
<P>For S = Simple style, there is a single coefficient:
</P>
<PRE>C1 = direct value for the reaction rate constant 
</PRE>
<P>For A = Arrhenius style, there are three coefficients:
</P>
<PRE>  A = pre-expoential factor 
  b = temperature exponent 
  Ea = activation energy for the reaction 
</PRE>
<P>The reaction rate constant is calculated in the following manner: 
</P>
<CENTER><IMG SRC = "Eqs/arrhenius_2.png">
</CENTER>
<P>For all the reactions types which includes adsorption - AA, DA, LH1,
LH3, and CD; the user must specify the number of species that adsorb
on the surface for the reaction as a argument after the reaction rate
coefficients
</P>
<P>Additional optional keywords for GS reactions can be used to define
the reaction rate constant.  These are <I>kisliuk</I>: proposed by Kisliuk
<A HREF = "#Kisliuk57">(Kisliuk57)</A>; and <I>energy</I>: proposed by Beckerle <I>et al.</I>
<A HREF = "#Beckerle89">(Beckerle89)</A>.
</P>
<I>kisliuk</I> args = A_k B_k Ea_k (only for reactions which includes adsorption - AA, DA, LH1, LH3, and CD) 
<BR>
<PRE>  <I>A_k</I> = pre-expoential factor
  <I>B_k</I> = temperature exponent
  <I>Ea_k</I> = activation energy for the adsorption 
</PRE>
<CENTER><IMG SRC = "Eqs/k_kisliuk.png">
</CENTER>
<I>energy</I> args = m n (only for CI) 
<BR>
<PRE>  <I>m</I> = energy exponent
  <I>n</I> = polar angle exponent 
</PRE>
<CENTER><IMG SRC = "Eqs/k_energy.png">
</CENTER>
<P>The final rate of the reaction is computed by the product of the
reaction rate constant and the surface coverage of all the adsorbed
reactants. The reaction probability is obtained by normalized all the
reaction rates. A detailed description can be found in Swaminathan
Gopalan <I>et al.</I> <A HREF = "#SG18">(SG18)</A>.
</P>
<HR>

<P>If there are gas-phase products, there is an option to specify the
model used to compute how the particle(s) scatter from the surface for
this reaction.  This will override the surface collision model
assigned to the surface element using the
<A HREF = "surf_collide.html">surf_collide</A> command.  If no reaction-specific
scattering model is desired, specify a <I>NULL</I> value.
</P>
<P>Any of the following surface collision models can be used: <I>specular</I>,
<I>diffuse</I>, <I>adiabatic</I>, <I>cll</I>, <I>impulsive</I>, <I>td</I>.  The scattering
model style and its corresponding arguments are specified in the line
following the reaction-style.  If there are two gas-phase products,
two lines (for the first and second particle) can be specified.  The
arguments for the different surface scattering models are the same as
specified in the <A HREF = "surf_collide.html">surf_collide</A> command.
</P>
<HR>

<P><B>Output info:</B>
</P>
<P>All the surface reaction models calculate a global vector of values.
The values can be used by the <A HREF = "stats_style.html">stats_style</A> command
and by <A HREF = "variable.html">variables</A> that define formulas.  The latter
means they can be used by any command that uses a variable as input,
e.g. the <A HREF = "fix_ave_time.html">fix ave/time</A> command.  See <A HREF = "Section_howto.html#howto_4">Section
4.4</A> for an overview of SPARTA output
options.
</P>
<P>This <I>adsorb</I> style compute a vector of length 2 + 2*nlist.  Nlist is
the sum of both the GS and PS reactions listed in the file(s) read as
input.  Note that this count includes all reactions in the files, not
just the ones flagged as active for a particular simulation.
</P>
<P>The first element of the vector is the count of particles that
performed surface reactions for surface elements assigned to this
reaction model during the current timestep. The second element is the
cummulative count of particles that have performed reactions since the
beginning of the current run.  The next nlist elements are the count
of each individual reaction that occurred during the current timestep.
The final nlist elements are the cummulative count of each individual
reaction since the beginning of the current run.
</P>
<HR>

<P><B>Restrictions:</B>
</P>
<P>If the following conditions are met:
</P>
<UL><LI>this reaction model is assigned to surface elements
<LI>on-surface PS reactions are defined
<LI>surface elements are distributed across processors
<LI>the <A HREF = "fix_balance.html">fix balance</A> or <A HREF = "fix_adapt.html">fix adapt</A> command is used 
</UL>
<P>then the timesteps on which balancing or grid adaptation are performed
must be multiples of <I>Nsync</I>.  This is because surfaces are
re-assigned to processors due to the change in the grid assignment to
processors and the per-surface <I>tau</I> values must be upated
appropriately when that occurs.
</P>
<P><B>Related commands:</B>
</P>
<P><A HREF = "aurf_react.html">surf_react</A>, <A HREF = "react.html">react</A>, 
<A HREF = "surf_modify.html">surf_modify</A>,
<A HREF = "bound_modify.html">bound_modify</A>, 
</P>
<P><B>Default:</B> none
</P>
<HR>

<A NAME = "SG18"></A>

<P><B>(SG18)</B> K. Swaminathan Gopalan, "Development of a detailed surface
chemistry framework in DSMC", AIAA Aerospace Sciences Meeting, Jan
(2018).
</P>
<A NAME = "Kisliuk57"></A>

<P><B>(Kisliuk57)</B> P. Kisliuk, "The sticking probabilities of gases
chemisorbed on the surfaces of solids", Journal of Physics and
Chemistry of Solids, vol. 3, no. 1-2, pp. 95-101, 1957.
</P>
<A NAME = "Beckerle89"></A>

<P><B>(Beckerle89)</B> J. Beckerle, A. Johnson, and S. Ceyer, "Observation and
mechanism of collision-induced desorption: CH4 on Ni (111)", Physical
Review Letters, vol. 62, no. 6, p. 685, 1989.
</P>
</HTML>
