feat(polyInitialGuess): use numeric derivitive for phi initial guess

This commit is contained in:
2025-04-18 11:18:55 -04:00
parent 56cefaeb1c
commit 0cc8e5bdfa

View File

@@ -270,16 +270,8 @@ void PolySolver::setInitialGuess() const {
return -std::pow((u*r), 2)+1.0;
}
);
mfem::VectorFunctionCoefficient phiInitGuess (m_mesh->SpaceDimension(),
[this](const mfem::Vector &x, mfem::Vector &v) {
double radius = Probe::getMeshRadius(*m_mesh);
double u = -1/std::pow(radius,2);
v(0) = 2*x(0)*u;
v(1) = 2*x(1)*u;
v(2) = 2*x(2)*u;
}
);
m_theta->ProjectCoefficient(thetaInitGuess);
mfem::GradientGridFunctionCoefficient phiInitGuess (m_theta.get());
m_phi->ProjectCoefficient(phiInitGuess);
if (m_config.get<bool>("Poly:Solver:ViewInitialGuess", false)) {
Probe::glVisView(*m_theta, *m_mesh, "θ init");