The easiest way to buffer the chemical potential of a component is to create a make definition that specifies the component's chemical potential in the thermodynamic data file , e.g., the make definition (www.perplex.ethz.ch/perplex_thermodynamic_data_file_body.html#Make_definitions) qfm = 2 mt + 3 q - 3 fa DQF = 0 creates a thermodynamic entity with the composition of O2 and a Gibbs energy that is identical to the chemical potential of oxygen in equilibrium with the quartz-fayalite-magnetite buffer. To impose this buffer in a phase equilibrium calculation specify O2 as a saturated component. The only tricky part of such calculations is that given a choice of several possible entities representing the thermodynamic properties of a saturated component Perple_X will choose the one with lowest Gibbs energy. Therefore it is essential that all other entities in the thermodynamic data base with the O2 composition are excluded from the calculation. Both MEEMUM and VERTEX print out a list of these entities to the console at the beginning of a calculation. Check this list and exclude those entities that are not relevant to your calculation. To specify a constant displacement from a buffer in terms of a log10 units of property such as fugacity or activity, observe that if the entity qfm represents the Gibbs energy (and chemical potential) of oxygen in equilibrium with the quartz-fayalite-magnetite buffer, then the Gibbs energy of O2 at some arbitrary displacement from the buffer is G(qfm+X) = G(qfm) + 2.303*R*T*X and can be specified by the make definition qfm+X = 2 mt + 3 q - 3 fa DQF = 0 + YYYYYY T_K where YYYYYY is the numeric value of 2.303*R*X. Less commonly, or at least less rationally, it may be desired to impose a constant chemical potential. In this case, create an entry in the thermodynamic data file with the composition and chemical potential of the component. For example, my_mu_O2 EoS = 1 O2(1) G0 = XXXXXX end where XXXXXX is the value (J/mol) of the chemical potential. For an example of how to set up a buffered calculation as a function of pressure and temperature see: www.perplex.ethz.ch/perplex/examples/example_29_buffered_fo2/example_29_dialog.txt For an example of how to recover the values of the fugacities imposed by a buffer see: www.perplex.ethz.ch/perplex/faq/calculate_for_a_buffer_frendly_dialog.txt www.perplex.ethz.ch/perplex/faq/how_to_compute_fo2_for_CCO.txt