Welcome to pypsbuilder documentation!
Introduction
References
THERMOCALC is a thermodynamic calculation program (Powell & Holland 1988) that uses an internally-consistent thermodynamic dataset (Holland & Powell, 1998, 2011) to undertake thermobarometry and phase diagram calculations for metamorphic rocks. However, using THERMOCALC to create a diagram is quite laborious; each curve must be calculated by hand, and the Schreinemaker’s analysis must be done manually. The curves must be built up one by one, and manually combined.
pypsbuilder is developed with the idea to make this tedious process much easier and more enjoyable while keeping the concept to force users understand the Phase Rule, Schreinemaker’s analysis, and how variance changes across field boundaries.
Check Pseudosection builders tutorial and Pseudosection explorers tutorial or watch video below to see pypsbuilder in action.
Changelog
All notable pypsbuilder changes.
[2.6.4] - 2025-08-03
Fixed
TC 3.51 compatibility added
Added
syscould be used as phase to access G H S V rho variables
[2.6.3] - 2025-04-03
Fixed
fixed multipolygon bug when subsections are merged
[2.6.2] - 2025-02-11
Fixed
f-string py3.10 bugfix
[2.6.1] - 2025-01-24
Added
Both PyQt5 and PyQt6 are supported and need to be specified as extra option during installation
[2.6.0] - 2025-01-23
Initial PyQt6 release
[2.5.3] - 2024-12-18
Latest version using PyQt5 only
[2.5.0] - 2024-12-13
Fixed
fix for coe-q
[2.4.2] - 2024-04-23
Fixed
another fix of and-ky-sill triple point linking
[2.4.1] - 2024-03-07
Fixed
fixed and-ky-sill triple point uniline suggestions
filled_over labeling fixed
cdf isoplths bug fixed
Added
overlap_isopleths method added
[2.4.0] - 2023-12-21
Fixed
important collect_grid_data bug causing isopleths twisting fixed.
Added
collect_ptpath missing field check added
remove_grid_data method added
isopleths bivariate spline method added
[2.3.6] - 2023-12-13
Added
search_composition method added to PTPS to find best estimate for isopleths intersection
[2.3.5] - 2023-12-09
Fixed
accept var check
[2.3.4] - 2023-03-10
Added
tristate labeling of uni and inv
Fixed
TC34API bug fixed
[2.3.3] - 2023-02-08
Fixed
gendrawpd bug fixed
missing omit or inexcess fix
[2.3.2] - 2023-01-31
Added
tcinit script added to initialize project directory
bulk table bug fixed
pointcalc method to run TC for given pT added to explorer
fixed some issues with creating areas
experimental vector isoplets for easy editing added (needs scikit-image)
[2.3.1] - 2022-10-06
Fixed
Fixed support for both TC34x and TC350beta
added tool to parse TC calculations (executed out of builder)
fixed ShapelyDeprecationWarning
fixed collect_ptpath() along 2-point path
[2.3.0] 2021-05-04
Fixed
latest THERMOCALC 3.50 compatibility
Added
isopleths quadratic surface fit method added
isopleths figure and savefig options added
2.2.2 - 2021-01-25
Fixed
gendrawpd fixed
fix to partially support TC347
2.2.1 - 2020-06-16
Added
bugfix release
option to to move invpoint and keep results (useful to fine-tune topology)
tool to cleanup storage (trim metastable calculations)
option to hide labels of connected lines and points
[2.2.0] - 2020-04-11
Added
ptbuilder, txbuilder and pxbuilder pseudosection builders
topology graph window added
dogmin implemented (results stored in projects)
autoconnect implemented
invariant point search implemented
merge of partially calculated univariant lines implemented
possibility to remove parts of univariant lines implemented
zoom to uni added to context menu
option to extend calculation range to extend univariant lines gently out of defined region
PTPS, TXPS and PXPS psexplorers implemented
possibility to merge several parts of pseudosection. Invariant points and univariant lines must be unique in single project.
calc along PT path implemented (now only for PT sections)
[2.1.5] - 2019-03-25
Removed
autocorrection of liquid model named as liq but starting guesses using L removed. User must check if liq model is coded properly. In case of tc-6xmn.txt it should be:
% =================================================
liq 8 1
q(liq) 0.1814
fsp(liq) 0.3490
na(liq) 0.5840
an(liq) 0.01104
ol(liq) 0.01373
x(liq) 0.7333
h2o(liq) 0.4276
% --------------------------------------------------
[2.1.4] - 2017-12-04
Fixed
clabel positioning
minimum contour level
silently ignore critical possible topology errors
[2.1.2] - 2017-04-03
Added
Option to show bulk composition on psexplorer figures
dio-o and gl-act-hb added to polymorphs
Fixed
psshow changed default color map to be darker for higher variance
manual or imported invariant points bub in psiso fixed
[2.1.1] - 2017-03-28
Added
colors and cmap args added to cli version of psiso
clabel arg psiso to place contour labels
[2.1.0] - 2017-03-23
Added
Write starting guesses from existing calculations (note that commented tags are needed in scriptfile)
Updated parsing include rbi data
Initial version of psexplorer to draw final pseudosections and isopleths (cli scrips provided)
Manual unilines and invpoints shown in bold in lists
[2.0.7] - 2017-02-13
Added
double-click on phaselist highlight all unilines with zero mode phase
option to export partial areas
Keyboard shortcuts added Ctrl-T and Ctrl-P for CalcTatP and CalcPatT, Ctrl-H Zoom home
Fixes
excess phases stored in unilines and invpoints
labeling phases sorted alphabeltically, same as phaselist
auto bug fixed
[2.0.6] - 2017-02-03
Fixed
path to executables stored in project
scriptfile parsing improved
[2.0.5] 2017-01-19
Fixes
output parsing fixed (hopefully…)
Rightclick invariant points menu fixed
area construction for drawpd export fixed
networkx dependecy removed
[2.0.4] - 2017-01-13
Added
saveas project added
working directory written to Log window
Log window catch output of both thermocalc and drawpd
[2.0.3] - 2017-01-13
Added
invview right click to select not yet calculated uni lines implemented
Fixes
Zoom uni button persistent
export list of phases in areas for TC-Investigator
drawpd areas construction fixed
[2.0.2] - 2016-12-10
Fixed
Areas export fixed
inv filtering fixed
[2.0.1] - 2016-12-10
Added
Recent files implemented
Adding manual uni and inv must be constrained by phases and out selection
Export areas to drawpd
Auto calculation around inv point
Fixed
scriptfile encoding fix
unilabels placement fixed
refresh instead plot during zoom
new unicutting algorithm
THERMOCALC mac-roman encoding used
[2.0.0] 2016-11-19
Added
Initial release of new generation of PSBuilder