Works out the test tiles of a line blend between recipes a and b (2 to 11 steps), or of a triaxial blend when c is given too (2 to 6 rows, up to 21 tiles), as the Blends page of the Glazecalc app does. Each tile is a mix of the corner recipes, each taken as a percent of its base: its shares, its recipe in percent, its key unity formula figures (silica, alumina, boron, the fluxes), silica to alumina, calculated expansion, its place on the Stull chart (stull), the names of the limit cautions it has, and, with a firing, whether its chemistry fits that firing (coneFit verdict). With two recipes and steps 2 it compares them oxide by oxide (differences). Give base materials only, no colorants. This is a calculation from published figures, not a test result: the tiles, fired, decide, and the cautions are guides, not a guarantee of food safety.
View input schema
{
"type": "object",
"properties": {
"a": {
"minItems": 1,
"maxItems": 40,
"type": "array",
"items": {
"type": "object",
"properties": {
"material": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "The material, by its name in the Glazecalc library (\"Custer Spar\", \"Whiting\", \"EPK\"), or your own name when you give its analysis."
},
"amount": {
"type": "number",
"minimum": 0,
"maximum": 100000,
"description": "Its amount in the recipe, in any unit the other lines share (grams, parts, percent)."
},
"analysis": {
"description": "Only for a material not in the library: its oxides in weight percent, as { \"SiO2\": 68.5, \"Al2O3\": 17.4 }.",
"type": "object",
"propertyNames": {
"type": "string",
"maxLength": 20
},
"additionalProperties": {
"type": "number",
"minimum": 0,
"maximum": 100
}
},
"loi": {
"description": "Its loss on ignition in percent, with an analysis.",
"type": "number",
"minimum": 0,
"maximum": 99.9
}
},
"required": [
"material",
"amount"
]
},
"description": "Recipe A, the first corner (the line's first tile, or the top of the triangle)."
},
"b": {
"minItems": 1,
"maxItems": 40,
"type": "array",
"items": {
"type": "object",
"properties": {
"material": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "The material, by its name in the Glazecalc library (\"Custer Spar\", \"Whiting\", \"EPK\"), or your own name when you give its analysis."
},
"amount": {
"type": "number",
"minimum": 0,
"maximum": 100000,
"description": "Its amount in the recipe, in any unit the other lines share (grams, parts, percent)."
},
"analysis": {
"description": "Only for a material not in the library: its oxides in weight percent, as { \"SiO2\": 68.5, \"Al2O3\": 17.4 }.",
"type": "object",
"propertyNames": {
"type": "string",
"maxLength": 20
},
"additionalProperties": {
"type": "number",
"minimum": 0,
"maximum": 100
}
},
"loi": {
"description": "Its loss on ignition in percent, with an analysis.",
"type": "number",
"minimum": 0,
"maximum": 99.9
}
},
"required": [
"material",
"amount"
]
},
"description": "Recipe B (the line's last tile, or the triangle's bottom left)."
},
"c": {
"description": "Recipe C, the triangle's bottom right. Leave it out for a line blend between a and b.",
"minItems": 1,
"maxItems": 40,
"type": "array",
"items": {
"type": "object",
"properties": {
"material": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "The material, by its name in the Glazecalc library (\"Custer Spar\", \"Whiting\", \"EPK\"), or your own name when you give its analysis."
},
"amount": {
"type": "number",
"minimum": 0,
"maximum": 100000,
"description": "Its amount in the recipe, in any unit the other lines share (grams, parts, percent)."
},
"analysis": {
"description": "Only for a material not in the library: its oxides in weight percent, as { \"SiO2\": 68.5, \"Al2O3\": 17.4 }.",
"type": "object",
"propertyNames": {
"type": "string",
"maxLength": 20
},
"additionalProperties": {
"type": "number",
"minimum": 0,
"maximum": 100
}
},
"loi": {
"description": "Its loss on ignition in percent, with an analysis.",
"type": "number",
"minimum": 0,
"maximum": 99.9
}
},
"required": [
"material",
"amount"
]
}
},
"steps": {
"description": "Tiles in the line (2 to 11, default 5), or rows of the triangle when c is given (2 to 6, default 4).",
"type": "integer",
"minimum": 2,
"maximum": 11
},
"firing": {
"description": "The firing, as a cone or a temperature. Leave it out when it is not known. From cone 12 up (about 1320 °C) no published glaze limits reach, so the limits are not checked there; the cone check judges cone 06 to 10 only.",
"type": "object",
"properties": {
"cone": {
"description": "An Orton cone from 022 to 42 (\"06\", \"6\", \"10\", \"14\", a half cone as \"5.5\"), or with chart \"sk\" an SK cone (JIS R 8101) from SK 022 to SK 20 (\"6a\", \"8\", \"14\").",
"type": "string",
"maxLength": 10
},
"chart": {
"description": "Which cones the cone is: Orton (the default) or SK (JIS R 8101).",
"type": "string",
"enum": [
"orton",
"sk"
]
},
"celsius": {
"type": "number",
"minimum": 500,
"maximum": 1600
},
"fahrenheit": {
"type": "number",
"minimum": 900,
"maximum": 2912
}
}
},
"limitSet": {
"description": "The limits to check against, as check_limits takes it: \"glazecalc\" (the default) or \"hesselberth-roy\".",
"type": "string",
"maxLength": 40
},
"language": {
"description": "The language for any sentences in the answer, as a BCP 47 tag such as \"en\", \"de\" or \"ja\". Languages Glazecalc does not offer are answered in English.",
"type": "string",
"maxLength": 20
}
},
"required": [
"a",
"b"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}