Skip to content

Commit 85a8348

Browse files
authored
Merge pull request #87 from dlparkhurst/mix_error
Mix error
2 parents 0cd7521 + 0c20180 commit 85a8348

File tree

6 files changed

+114
-3
lines changed

6 files changed

+114
-3
lines changed

CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
cmake_minimum_required(VERSION 3.3)
1+
cmake_minimum_required(VERSION 3.10)
22

33
project(phreeqc)
44

examples/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
cmake_minimum_required (VERSION 3.9)
1+
cmake_minimum_required (VERSION 3.10)
22

33
SET(phreeqc_EXAMPLES
44
co2.dat

mytest/CMakeLists.txt

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
cmake_minimum_required (VERSION 3.9)
1+
cmake_minimum_required (VERSION 3.10)
22

33
set(TESTS
44
NH4_2_SO4
@@ -408,6 +408,7 @@ set(TESTS
408408
str_f
409409
stuyfz
410410
surf_check
411+
surf_error
411412
surf_kin_related
412413
surf_kin_related_pz
413414
surf_related
@@ -498,6 +499,7 @@ set(FAILS
498499
pitzer_fail
499500
punch_stream
500501
raw
502+
surf_error
501503
surf_related_warnings
502504
Syn1_acidbase
503505
wjAs2

mytest/surf_error

+40
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
DATABASE ../database/wateq4f.dat
2+
3+
SOLUTION_SPECIES
4+
CaCO3 +1.0000 H+ = + 1.0000 Ca++ + 1.0000 HCO3-
5+
log_k 1.8487
6+
#FeS2 +1.0000 H2O = + 0.2500 H+ + 0.2500 SO4-- + 1.0000 Fe++ + 1.7500 HS-
7+
# log_k -24.6534
8+
Hfo_sOH + Ca+2 = Hfo_sOHCa+2
9+
log_k 4.97
10+
Hfo_wOH + Ca+2 = Hfo_wOCa+ + H+
11+
log_k -5.85
12+
12.0000 H2O + 11.0000 UO2++ + 6.0000 HCO3- = (UO2)11(CO3)6(OH)12-2 +18.0000 H+
13+
log_k -25.7347
14+
3.0000 H2O + 2.0000 UO2++ + 1.0000 HCO3- = (UO2)2CO3(OH)3- +4.0000 H+
15+
log_k -11.2229
16+
6.0000 HCO3- + 3.0000 UO2++ = (UO2)3(CO3)6-6 +6.0000 H+
17+
log_k -8.0601
18+
1.0000 UO2++ + 0.5000 H2O = UO2+ +1.0000 H+ +0.2500 O2
19+
log_k -20.0169
20+
3.0000 UO2++ + 3.0000 H2O + 1.0000 HCO3- = (UO2)3O(OH)2(HCO3)+ +4.0000 H+
21+
log_k -9.7129
22+
23+
SURFACE_MASTER_SPECIES
24+
25+
HCO3-
26+
27+
SURFACE 1
28+
Hfo_sOH 2.7e-4 500 0.05
29+
Hfo_wOH 1000
30+
HCO3- 100
31+
32+
SOLUTION 1
33+
34+
temp 25
35+
pH 7
36+
units mmol/L
37+
U 250 ug/L
38+
Ca 1.0
39+
C 2
40+
-water 0.1

mytest/surf_error.out

+60
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
Input file: surf_error
2+
Output file: surf_error.out
3+
Database file: ../database/wateq4f.dat
4+
5+
------------------
6+
Reading data base.
7+
------------------
8+
9+
SOLUTION_MASTER_SPECIES
10+
SOLUTION_SPECIES
11+
PHASES
12+
EXCHANGE_MASTER_SPECIES
13+
EXCHANGE_SPECIES
14+
SURFACE_MASTER_SPECIES
15+
SURFACE_SPECIES
16+
RATES
17+
END
18+
------------------------------------
19+
Reading input data for simulation 1.
20+
------------------------------------
21+
22+
DATABASE ../database/wateq4f.dat
23+
SOLUTION_SPECIES
24+
CaCO3 +1.0000 H+ = + 1.0000 Ca++ + 1.0000 HCO3-
25+
log_k 1.8487
26+
Hfo_sOH + Ca+2 = Hfo_sOHCa+2
27+
log_k 4.97
28+
Hfo_wOH + Ca+2 = Hfo_wOCa+ + H+
29+
log_k -5.85
30+
12.0000 H2O + 11.0000 UO2++ + 6.0000 HCO3- = (UO2)11(CO3)6(OH)12-2 +18.0000 H+
31+
log_k -25.7347
32+
3.0000 H2O + 2.0000 UO2++ + 1.0000 HCO3- = (UO2)2CO3(OH)3- +4.0000 H+
33+
log_k -11.2229
34+
6.0000 HCO3- + 3.0000 UO2++ = (UO2)3(CO3)6-6 +6.0000 H+
35+
log_k -8.0601
36+
1.0000 UO2++ + 0.5000 H2O = UO2+ +1.0000 H+ +0.2500 O2
37+
log_k -20.0169
38+
3.0000 UO2++ + 3.0000 H2O + 1.0000 HCO3- = (UO2)3O(OH)2(HCO3)+ +4.0000 H+
39+
log_k -9.7129
40+
SURFACE_MASTER_SPECIES
41+
HCO3-
42+
ERROR: Reading surface master species name.
43+
ERROR: HCO3-
44+
SURFACE 1
45+
Hfo_sOH 2.7e-4 500 0.05
46+
Hfo_wOH 1000
47+
HCO3- 100
48+
SOLUTION 1
49+
ERROR: Surface area not defined for H.
50+
51+
temp 25
52+
pH 7
53+
units mmol/L
54+
U 250 ug/L
55+
Ca 1.0
56+
C 2
57+
water 0.1
58+
ERROR: Element or valence name in SOLUTION_MASTER_SPECIES should include only one element, HCO3-.
59+
ERROR: Species pointer is null for, HCO3-. Check your _MASTER_ and _SPECIES definitions.
60+
Stopping.

src/tidy.cpp

+9
Original file line numberDiff line numberDiff line change
@@ -2312,6 +2312,15 @@ tidy_species(void)
23122312
}
23132313
/* store sequence number in master structure */
23142314
master[i]->number = i;
2315+
if (master[i]->s == NULL)
2316+
{
2317+
input_error++;
2318+
error_string = sformatf(
2319+
"Species pointer is null for, %s. Check your _MASTER_ and _SPECIES definitions.",
2320+
master[i]->elt->name);
2321+
error_msg(error_string, STOP);
2322+
}
2323+
23152324
if (strcmp(master[i]->elt->name, "Alkalinity") != 0)
23162325
{
23172326
if (master[i]->primary == TRUE)

0 commit comments

Comments
 (0)