diff --git a/include/BSMPT/minimum_tracer/minimum_tracer.h b/include/BSMPT/minimum_tracer/minimum_tracer.h index eafb84ce..3da5a03e 100644 --- a/include/BSMPT/minimum_tracer/minimum_tracer.h +++ b/include/BSMPT/minimum_tracer/minimum_tracer.h @@ -18,6 +18,7 @@ #include #include #include // Eigenvalues matrix +#include // std::swap #include #include // std::pow #include // for shared_ptr diff --git a/src/minimum_tracer/minimum_tracer.cpp b/src/minimum_tracer/minimum_tracer.cpp index e806ad2f..155c3951 100644 --- a/src/minimum_tracer/minimum_tracer.cpp +++ b/src/minimum_tracer/minimum_tracer.cpp @@ -2401,6 +2401,12 @@ Vacuum::Vacuum(const double &T_lowIn, PhasesList[i].id = i; } + // impose that true vacuum at T = Tthigh has id = 0. + for (auto &phase : PhasesList) + if ((phase.T_high == T_high) and + (phase.Get(T_high).potential < PhasesList[0].Get(T_high).potential)) + std::swap(PhasesList[0], phase); + // identify coexisiting phase regions setCoexRegion(UseMultiStepPTMode); // can flip status_vacuum to error code