해찾기의 응용 중 하나로, 복잡한 방정식의 해를 수치적으로 구하는 것입니다. 그런데, 1개의 해가 아니라 궤적을 구하려고 한다면, 매개 변수의 값을 변경하면서 반복해서 수치해를 구해야합니다.
예를 들어, 인산(H3PO4)의 중화곡선을 구한다고 해보겠습니다. 인산은 pH에 따라 H+ 이온이 해리되지 않은 상태에서부터 3개의 H+ 이온이 모두 해리된 상태가 가능합니다. 황산, 구연산 등의 다가산의 경우에는 모두 마찬가지입니다. 염산과 같이 1가의 강산인 경우, HCl의 투입량에서 NaOH나 KOH의 염기 물질의 투입량을 빼면 바로 H+ 이온 농도를 구할 수 있으므로, 복잡한 과정이 필요없습니다. 그러나, 인산과 같이 pH에 따라 해리되는 수소의 갯수가 다른 경우, 아래와 같은 산해리 평형상수(pKa)로부터 pH에 따라 각 성분의 해리 수준을 계산해 주어야 합니다.
여기에서 계산해보려는 한가지 예로, 0.5mol의 인산이 포함된 용액에 NaOH를 투입할 때, pH 변화(적정곡선)를 계산하고, pH에 따라 어떠한 이온 상태가 가장 안정한 상태인지 확인하는 것입니다.
인산을 투입하게 되면, pH가 증가할수록 H3PO4 → H2PO4^- → HPO4^2- → PO4^3- 와 같이 수소 이온이 분리됩니다. 이 때, 각각의 평형 상수를 Ka1, Ka2, Ka3라고 하고, 이 값의 로그값에 음수를 취해서 pKa(=-log Ka)값이라고 하여 화학 데이터로 제공하게 됩니다. 구글 검색을 해보니, 이 값이 각각 2.14, 7.20, 12.37이라고 합니다. 평형상수로 환산해보면, 10^-2.14~10^-12.37이 된다는 뜻입니다. 농도 계산을 하기 위해 위의 농도 평형식이 3개이고, 여기에 포함된 숫자의 크기가 10^10 배가 차이가 나기 때문에 일반적인 연립방정식을 풀어서는 결과를 얻기가 쉽지 않습니다.
이를 계산하기 위해 아래와 같이 엑셀 시트를 작성합니다.
우선 인터넷으로부터 얻은 pKa와 물의 해리상수를 왼쪽편에 정리해둡니다. 오른쪽에는 구하고자하는 pH 범위를 우선 지정해줍니다. (pH 1~14까지 0.1 간격으로 연속데이터를 만들어줍니다.)
G열에는 pH의 정의를 이용하여 H+ 농도([H+]=10^-pH)를 입력해줍니다.
I~L열에는 인산의 농도를 넣어 줍니다. 3개의 농도 평형식이 있기 때문에 4개 중 1개의 화학종 농도가 결정되면, 나머지는 자동으로 계산됩니다. 이들 농도의 총합(I~L)이 투입한 초기농도와 같아야 하므로, 이들의 합과 초기 투입량의 차이를 N열에 넣어두고, 이 값이 0이 되도록 I~L 열 중 1개를 변경해주면 됩니다. 1개의 목표셀(N열)의 값이 0이 되도록 I~L 열 중 1개의 변경셀을 바꾸는 해찾기 문제가 되는 것입니다.
수치 계산을 염두에 둔다면, 2번째 또는 3번째의 크기를 변경셀로 사용하는 것이 좋습니다. 만약 1번째 열([H3PO4] 농도)을 변경셀로 둔다면, 4번째 열을 계산할 때에는 Ka1*Ka2*Ka3를 곱한 숫자가 계산에 반영되기 때문에 제대로 계산이 되지 않을 수 있습니다.
끝으로, OH- 농도는 pH로부터 구한 H+ 이온 농도와 물의 해리상수를 이용하여 구할 수 있고, H+, OH- 및 인산 농도계산이 완료되면, 전기적 중성을 유지하기 위해 필요한 Na+ 또는 Cl- 농도를 계산하여, 염산 또는 수산화나트륨 투입량을 계산해줄 수 있습니다.
1개의 pH에 대해서 해찾기 식을 만들었으므로, pH 값을 계속 변경하여 해찾기를 하면, 중화곡선을 얻을 수 있습니다.
연속해찾기를 실행한 후, 목표셀을 N열의 전체 구간에 대해 지정해주고, 변경셀은 목표셀 중 1번째 셀에 대해서만 지정해줍니다. 목표셀의 목표값은 0이 되는 것이므로 지정값, 0이 되도록 입력하고, 체크박스 '연속 해찾기'를 체크한 상태에서 '해찾기 시작'을 클릭합니다.
댓글 없음:
댓글 쓰기
의견이나 질문이 있으신 분은 언제든지 댓글을 달아주세요~