<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 12pt;
font-family:Calibri
}
--></style></head>
<body class='hmmessage'><div dir='ltr'>Hi Jed, <div>I was just looking through the SNES documentation, I came  across SNESLineSearchSetVIFunctions. Is there an example of the use of this function to implement and arbitrary projection?  Can I use this to implement a function that projects the solution back into the feasible region? I am assuming this should be able to handle simple linear inequality constraints of the type that I have, which can be applied pointwise. </div><div>Thanks, </div><div>Subramanya. <br><br><div><hr id="stopSpelling">From: potaman@outlook.com<br>To: jedbrown@mcs.anl.gov; petsc-users@mcs.anl.gov<br>Date: Mon, 23 Dec 2013 23:34:53 -0500<br>Subject: Re: [petsc-users] Extending PETSC-SNES-VI to linear inequality constraints, <br><br>

<style><!--
.ExternalClass .ecxhmmessage P {
padding:0px;
}

.ExternalClass body.ecxhmmessage {
font-size:12pt;
font-family:Calibri;
}

--></style>
<div dir="ltr"><div>I am trying to solve a multiphase cahn hilliard equation with an obstacle potential. So I have an energy functional. However, the linear inequality arises when I eliminate one of the phase variables.  So, the variables are phi1,phi2, phi3 , mu1,mu2 and mu3.  with ,0<phi1,phi2,phi3<1 and phi1+phi2+phi3 =1 . If I get rid of phi3 and mu3, I get an additional constraint 0 < phi1+phi2 < 1 , which I just added to the lagrangian with a multiplier.  </div><div><br></div><div><br></div><div>> From: jedbrown@mcs.anl.gov<br>> To: potaman@outlook.com; petsc-users@mcs.anl.gov<br>> CC: tmunson@mcs.anl.gov<br>> Subject: Re: [petsc-users] Extending PETSC-SNES-VI to linear inequality constraints,<br>> Date: Mon, 23 Dec 2013 21:27:57 -0700<br>> <br>> subramanya sadasiva <potaman@outlook.com> writes:<br>> <br>> > Hi, Is it possible to extend PETSC-SNES VI to handlie linear<br>> > inequality constraints. My problem has 4 variables . 2 of them have<br>> > bounds constraints, as well as a linear inequality. At present I've<br>> > implemented an augmented lagrangian method to handle the linear<br>> > inequality and I let SNES VI handle the bounds constraints. However,<br>> > the convergence of this method is very poor. I'd like to know if there<br>> > was an easy way to get SNES VI to handle the linear inequalities as<br>> > well. Thanks,<br>> <br>> This would be a useful extension, though I think nonlinear inequality<br>> constraints may ultimately be necessary.  We are integrating TAO as a<br>> module in PETSc, which will help with problem formulation.<br>> <br>> Does your problem have an "energy" or objective functional, or is it a<br>> general variational inequality?<br></div>                                          </div></div></div>                                    </div></body>
</html>