GEOS-DEV / GEOS

GEOS Simulation Framework
GNU Lesser General Public License v2.1
203 stars 80 forks source link

Constrained Optimization Solver #1087

Open andrembcosta opened 3 years ago

andrembcosta commented 3 years ago

Hi guys,

I have been working in the implementation of the a phase-field fracture solver in GEOSX, and in this solver, I have a field variable which cannot decrease (it is a variable that represents the damage, and in our model, we don't accept material healing). Since the phase-field fracture problem can be viewed as an minimization problem, I am basically dealing with an optimization with an inequality constraint in one of the variables.

Currently, the most recent implementation of this that I know, uses a Primal-Dual Active Set Strategy, which is part of PETSC. However, it seems that PETSC and GEOSX don't get along really well, so, I am wondering if anyone has ever used or heard of another optimization solver, that can handle inequality constraints in Trilinos or Hypre or another package, which I could try to use.

joshua-white commented 3 years ago

@andrembcosta I am not aware of another one, but that doesn't mean it doesn't exist. Google will know more.

Also, I would not rule out Petsc. Our issue with Petsc mainly arises with using OpenMP on certain platforms. It was common enough we didn't want to enable Petsc as a "default" solver, but it is still available and actually works well for most people. You can activate it as needed. I would suggest designing and testing your solver with Petsc, but just include some #guards around any code that is Petsc specific so we can build without it. Once you have a working design, we can revisit portability.