diff --git a/Documentation/ProjectFile/prj/chemical_system/a_chemical_solver.md b/Documentation/ProjectFile/prj/chemical_system/a_chemical_solver.md
new file mode 100644
index 0000000000000000000000000000000000000000..c927c72534b014fe8c3b884977b1dfab76b2676c
--- /dev/null
+++ b/Documentation/ProjectFile/prj/chemical_system/a_chemical_solver.md
@@ -0,0 +1 @@
+specify a solver for geochemical calculation. At the moment, only Phreeqc is supported. Note that, the Phreeqc version used is 3.5.0.
diff --git a/Documentation/ProjectFile/prj/chemical_system/equilibrium_phases/equilibrium_phase/i_equilibrium_phase.md b/Documentation/ProjectFile/prj/chemical_system/equilibrium_phases/equilibrium_phase/i_equilibrium_phase.md
new file mode 100644
index 0000000000000000000000000000000000000000..1691af32ac7a8baf4bca132ae49fb234b638482f
--- /dev/null
+++ b/Documentation/ProjectFile/prj/chemical_system/equilibrium_phases/equilibrium_phase/i_equilibrium_phase.md
@@ -0,0 +1 @@
+specify a phase which can be a sort of mineral or gas. The chemical equilibrium between the phase and aqueous species has to be achieved in the geochemical calculation.
diff --git a/Documentation/ProjectFile/prj/chemical_system/equilibrium_phases/equilibrium_phase/t_initial_amount.md b/Documentation/ProjectFile/prj/chemical_system/equilibrium_phases/equilibrium_phase/t_initial_amount.md
new file mode 100644
index 0000000000000000000000000000000000000000..b35ba483adeb11a2cfc6e1444636903f849cde30
--- /dev/null
+++ b/Documentation/ProjectFile/prj/chemical_system/equilibrium_phases/equilibrium_phase/t_initial_amount.md
@@ -0,0 +1 @@
+set initial amount of the phase.
diff --git a/Documentation/ProjectFile/prj/chemical_system/equilibrium_phases/equilibrium_phase/t_name.md b/Documentation/ProjectFile/prj/chemical_system/equilibrium_phases/equilibrium_phase/t_name.md
new file mode 100644
index 0000000000000000000000000000000000000000..a44601e6d44a878779c86da82265af40d2ab0154
--- /dev/null
+++ b/Documentation/ProjectFile/prj/chemical_system/equilibrium_phases/equilibrium_phase/t_name.md
@@ -0,0 +1 @@
+specify name of a phase.
diff --git a/Documentation/ProjectFile/prj/chemical_system/equilibrium_phases/equilibrium_phase/t_saturation_index.md b/Documentation/ProjectFile/prj/chemical_system/equilibrium_phases/equilibrium_phase/t_saturation_index.md
new file mode 100644
index 0000000000000000000000000000000000000000..34ac76b9d11db6533426464247dd60373ab49067
--- /dev/null
+++ b/Documentation/ProjectFile/prj/chemical_system/equilibrium_phases/equilibrium_phase/t_saturation_index.md
@@ -0,0 +1 @@
+specify target saturation index for the phase. The specified saturation index will be attained in the geochemical calculation.
diff --git a/Documentation/ProjectFile/prj/chemical_system/equilibrium_phases/i_equilibrium_phases.md b/Documentation/ProjectFile/prj/chemical_system/equilibrium_phases/i_equilibrium_phases.md
new file mode 100644
index 0000000000000000000000000000000000000000..c4d27ab7b710aabe1ab8dbe41f20874e68b55505
--- /dev/null
+++ b/Documentation/ProjectFile/prj/chemical_system/equilibrium_phases/i_equilibrium_phases.md
@@ -0,0 +1 @@
+specify a set of equilibrium phases.
diff --git a/Documentation/ProjectFile/prj/chemical_system/i_chemical_system.md b/Documentation/ProjectFile/prj/chemical_system/i_chemical_system.md
new file mode 100644
index 0000000000000000000000000000000000000000..8f7fcf34f823ca8d8d1e7e931e5d349e21c5dc0a
--- /dev/null
+++ b/Documentation/ProjectFile/prj/chemical_system/i_chemical_system.md
@@ -0,0 +1 @@
+configure setting of a geochemical system.
diff --git a/Documentation/ProjectFile/prj/chemical_system/kinetic_reactants/i_kinetic_reactants.md b/Documentation/ProjectFile/prj/chemical_system/kinetic_reactants/i_kinetic_reactants.md
new file mode 100644
index 0000000000000000000000000000000000000000..32870475f3de89320ead8f9128ba6eaa5bd18aa0
--- /dev/null
+++ b/Documentation/ProjectFile/prj/chemical_system/kinetic_reactants/i_kinetic_reactants.md
@@ -0,0 +1 @@
+specify a set of kinetic reactants.
diff --git a/Documentation/ProjectFile/prj/chemical_system/kinetic_reactants/kinetic_reactant/i_kinetic_reactant.md b/Documentation/ProjectFile/prj/chemical_system/kinetic_reactants/kinetic_reactant/i_kinetic_reactant.md
new file mode 100644
index 0000000000000000000000000000000000000000..25e14db8687b477a2b100f081ff2b5442a9df976
--- /dev/null
+++ b/Documentation/ProjectFile/prj/chemical_system/kinetic_reactants/kinetic_reactant/i_kinetic_reactant.md
@@ -0,0 +1 @@
+specify a reactant whose chemical reaction is kinetic.
diff --git a/Documentation/ProjectFile/prj/chemical_system/kinetic_reactants/kinetic_reactant/t_initial_amount.md b/Documentation/ProjectFile/prj/chemical_system/kinetic_reactants/kinetic_reactant/t_initial_amount.md
new file mode 100644
index 0000000000000000000000000000000000000000..ba7ccbbae2f86dd585f11c9f7d02c0fd7ae39165
--- /dev/null
+++ b/Documentation/ProjectFile/prj/chemical_system/kinetic_reactants/kinetic_reactant/t_initial_amount.md
@@ -0,0 +1 @@
+set initial amount of a kinetic reactant.
diff --git a/Documentation/ProjectFile/prj/chemical_system/kinetic_reactants/kinetic_reactant/t_name.md b/Documentation/ProjectFile/prj/chemical_system/kinetic_reactants/kinetic_reactant/t_name.md
new file mode 100644
index 0000000000000000000000000000000000000000..c941b360d371209310cac4a153a29cc9b0ee9932
--- /dev/null
+++ b/Documentation/ProjectFile/prj/chemical_system/kinetic_reactants/kinetic_reactant/t_name.md
@@ -0,0 +1 @@
+name of a kinetic reactant.
diff --git a/Documentation/ProjectFile/prj/chemical_system/kinetic_reactants/kinetic_reactant/t_parameters.md b/Documentation/ProjectFile/prj/chemical_system/kinetic_reactants/kinetic_reactant/t_parameters.md
new file mode 100644
index 0000000000000000000000000000000000000000..4364d3876c7a14b673184b87a8a502ff8c6851d5
--- /dev/null
+++ b/Documentation/ProjectFile/prj/chemical_system/kinetic_reactants/kinetic_reactant/t_parameters.md
@@ -0,0 +1 @@
+set a list of parameters which can be used in the rate expression. The rate expression of this kinetic reaction has to be defined in RATES.
diff --git a/Documentation/ProjectFile/prj/chemical_system/rates/i_rates.md b/Documentation/ProjectFile/prj/chemical_system/rates/i_rates.md
new file mode 100644
index 0000000000000000000000000000000000000000..6535fed4149bec5992d4adefc7c34cf35e20778b
--- /dev/null
+++ b/Documentation/ProjectFile/prj/chemical_system/rates/i_rates.md
@@ -0,0 +1 @@
+define rate expressions of kinetic reactions.
diff --git a/Documentation/ProjectFile/prj/chemical_system/rates/rate/expression/i_expression.md b/Documentation/ProjectFile/prj/chemical_system/rates/rate/expression/i_expression.md
new file mode 100644
index 0000000000000000000000000000000000000000..e1eec150b21d7fda477eec155973d4649015b97b
--- /dev/null
+++ b/Documentation/ProjectFile/prj/chemical_system/rates/rate/expression/i_expression.md
@@ -0,0 +1 @@
+define a rate expression which consists of a number of BASIC language statments.
diff --git a/Documentation/ProjectFile/prj/chemical_system/rates/rate/expression/t_statement.md b/Documentation/ProjectFile/prj/chemical_system/rates/rate/expression/t_statement.md
new file mode 100644
index 0000000000000000000000000000000000000000..7cd6c28c7bb6190ce945e71febf86fe379aea7f9
--- /dev/null
+++ b/Documentation/ProjectFile/prj/chemical_system/rates/rate/expression/t_statement.md
@@ -0,0 +1 @@
+BASIC language statement of a rate expression.
diff --git a/Documentation/ProjectFile/prj/chemical_system/rates/rate/i_rate.md b/Documentation/ProjectFile/prj/chemical_system/rates/rate/i_rate.md
new file mode 100644
index 0000000000000000000000000000000000000000..a2c027f505a2f5cd7bf8525cbbaaed11917719b1
--- /dev/null
+++ b/Documentation/ProjectFile/prj/chemical_system/rates/rate/i_rate.md
@@ -0,0 +1 @@
+define rate expression of a particular kinetic reaction.
diff --git a/Documentation/ProjectFile/prj/chemical_system/rates/rate/t_kinetic_reactant.md b/Documentation/ProjectFile/prj/chemical_system/rates/rate/t_kinetic_reactant.md
new file mode 100644
index 0000000000000000000000000000000000000000..c4fcadfb2b06d3166876444890025c3ff02cc250
--- /dev/null
+++ b/Documentation/ProjectFile/prj/chemical_system/rates/rate/t_kinetic_reactant.md
@@ -0,0 +1 @@
+specify the associated kinetic reactant.
diff --git a/Documentation/ProjectFile/prj/chemical_system/solution/components/i_components.md b/Documentation/ProjectFile/prj/chemical_system/solution/components/i_components.md
new file mode 100644
index 0000000000000000000000000000000000000000..0064008382be384c73f27e9adcfb2ec2056f7583
--- /dev/null
+++ b/Documentation/ProjectFile/prj/chemical_system/solution/components/i_components.md
@@ -0,0 +1 @@
+define a list of elements in the initial solution.
diff --git a/Documentation/ProjectFile/prj/chemical_system/solution/components/t_component.md b/Documentation/ProjectFile/prj/chemical_system/solution/components/t_component.md
new file mode 100644
index 0000000000000000000000000000000000000000..b766de83340119e4e3222199e6b299aadf23cf7a
--- /dev/null
+++ b/Documentation/ProjectFile/prj/chemical_system/solution/components/t_component.md
@@ -0,0 +1 @@
+define a particular elment in the solution.
diff --git a/Documentation/ProjectFile/prj/chemical_system/solution/i_solution.md b/Documentation/ProjectFile/prj/chemical_system/solution/i_solution.md
new file mode 100644
index 0000000000000000000000000000000000000000..3d3a440c7f639438fabbe4e6e8c119d38aaa9dd7
--- /dev/null
+++ b/Documentation/ProjectFile/prj/chemical_system/solution/i_solution.md
@@ -0,0 +1 @@
+define temperature, pressure, and chemical composition of an initial solution.
diff --git a/Documentation/ProjectFile/prj/chemical_system/solution/t_means_of_adjusting_charge.md b/Documentation/ProjectFile/prj/chemical_system/solution/t_means_of_adjusting_charge.md
new file mode 100644
index 0000000000000000000000000000000000000000..db2ca966b706f7ca1f21d713c7b5aa1a5d45bbef
--- /dev/null
+++ b/Documentation/ProjectFile/prj/chemical_system/solution/t_means_of_adjusting_charge.md
@@ -0,0 +1 @@
+an optional tag to define by what means to achieve charge balance. Now, we support this functionality with the way of adjusting pH value or pe value. Simply fill in the tag with the string "pH" or "pe".
diff --git a/Documentation/ProjectFile/prj/chemical_system/solution/t_pe.md b/Documentation/ProjectFile/prj/chemical_system/solution/t_pe.md
new file mode 100644
index 0000000000000000000000000000000000000000..46b0b4d1206a68a96e8985d7228c255fd9eeb091
--- /dev/null
+++ b/Documentation/ProjectFile/prj/chemical_system/solution/t_pe.md
@@ -0,0 +1 @@
+define pe value, negative logarithm of the activity of the electron.
diff --git a/Documentation/ProjectFile/prj/chemical_system/solution/t_pressure.md b/Documentation/ProjectFile/prj/chemical_system/solution/t_pressure.md
new file mode 100644
index 0000000000000000000000000000000000000000..8b28f8a374906b7dd50216b6a6028a2a3c7740b9
--- /dev/null
+++ b/Documentation/ProjectFile/prj/chemical_system/solution/t_pressure.md
@@ -0,0 +1 @@
+define hydrostatic pressure in unit of bar.
diff --git a/Documentation/ProjectFile/prj/chemical_system/solution/t_temperature.md b/Documentation/ProjectFile/prj/chemical_system/solution/t_temperature.md
new file mode 100644
index 0000000000000000000000000000000000000000..a2907f333f38593ad8ec39b390a4be1fbde04330
--- /dev/null
+++ b/Documentation/ProjectFile/prj/chemical_system/solution/t_temperature.md
@@ -0,0 +1 @@
+define temperature in unit of celsius degree.
diff --git a/Documentation/ProjectFile/prj/chemical_system/t_database.md b/Documentation/ProjectFile/prj/chemical_system/t_database.md
new file mode 100644
index 0000000000000000000000000000000000000000..77c95f9eff580e2bc8b0f01408e387771f606c16
--- /dev/null
+++ b/Documentation/ProjectFile/prj/chemical_system/t_database.md
@@ -0,0 +1 @@
+specify a thermodynamic database file.