Обычно, баланс железа рассчитывают исходя из баланса кислорода. Т.е. недостаток кислорода
при начальном допущении, что все железо 2+, компенсируют добавлением Fe3+.
Программы существуют, но для конкретных минералов...
Я приведу пример расчета для клинопироксенов, взятый из моих лекций для студентов-петрологов МГУ (3 курс):
Простой алгоритм расчета формул
клинопироксенов по стехиометрии приведен
из допущений,
что в формуле клинопироксена 4 катиона и
6 кислородов.
M1 (металл в октаэдрической координации)
может быть представлен Na, Ca, Fe, Mg, в
высокобарных условиях K
M2 (металл в октаэдрической координации)
может быть представлен Ca, Fe2,Fe3, Mg, Al, Ti, Ni, V
M3 (металл в тетраэдрической координации)
может быть представлен Si, Al
При расчете не образуется отрицательных
значений
Посчитать сумму атомных количеств всех
катионов
Поскольку Si может занимать только
позицию M3, считаем количество Si в
позиции M3
Si = 4*(SiO2/60.09)/(сумма атомных количеств).
Считаем общее количество алюминия,
приходящееся на позиции M2 и M3 (аналогично
п.2, масса AlO1.5 - 51).
Позиция M3 уже занята Si, но если в ней
остались вакансии (2-Si), то они занимаются
частью Al.,
т.е. Al(IV) = 2 - Si
Al(VI) расчитывается как остаток алюминия -
Al(VI) = (общее количество алюминия) - Al(IV)
Заполняем позицию M1 - рассчитываем
количество Na, K, Ca (аналогично п.2). Сумма
Na+K+Ca должна быть близка к 1 (иначе это не
клинопироксен)
Заполняем позицию M2 - рассчитываем все
оставшиеся элементы кроме железа, т.е Mg, Mn,
Ti, Cr, Ni, V (аналогично пункту 2)
Рассчитываем общее количество
формульных единиц Fe (аналогично п.2)
Подсчитываем, какое количество
кислорода необходимо, чтобы
нейтрализовать все расчитанные катионы.
Это количество равняется сумме (количество
каждого элемента*валентность/2). При этом
расчете Fe принимается двухвалентным.
Сумма должна быть чуть-чуть меньше 6.
Разница между теоретическим
количеством кислорода в пироксенах (6) и
рассчитанным в п.9 объясняется тем, что
часть железа находится в 3-валентном
состоянии. Количество 3-валентного железа
определяется как
Fe3=2*(6-количество кислорода), т.е. дефицит
валентностей.
Количество 2-валентного железа
определяется как
Fe2=(общее количество формульных единиц Fe) -
Fe3
Если подсчитать еще раз общее
количество кислорода (аналогично п.9, но
учитывая вновь полученные Fe2 и Fe3), то
долно получится ровно 6 кислородов.
Если где-нибудь в процессе расчетов
встретились отрицательные значения, то
возможно 3 причины:
Это не клинопироксен
Вы имеете плохой анализ
Этот пироксен имеет более сложную
схему изоморфизма и требует более
сложной схемы расчета