Hi, 
I am solving a Cahn Hilliard Navier stokes system and that means solving 
multiple sequential non-linear equations. This means I need to pass different 
petsc options to the solver of each, and set them using PETSC_set_option for 
each of the solvers one by one. Is there a recommended way to do this?
In my current implementation - 
I have the following 

class CHNS::CahnHilliard : public TransientNonlinearImplicitSystem,
                       public NonlinearImplicitSystem::ComputeResidual,
                       public NonlinearImplicitSystem::ComputeJacobian,
                       public NonlinearImplicitSystem::ComputeBounds,
                       public System::Initialization
 
and a similar one for the navier stokes equation. 
I have a feeling that I need to switch the Nonlinear_solver member to one of 
the child nonlinear_solver (Either PetcNonlinearSolver (for the case without 
the variational inequality)  or PetscDMNonlinearSolver (For the case with the 
nonlinear inequality). Is there a simple way to do this? I am new to C++ so it 
is mot very apparent to me what the solution to this problem is. 
Thanks! 

Subramanya Sadasiva 

"But memory eventually fades. Turbulences damp out, internal strains yield to 
plastic flow, concentration inhomogeneities diffuse to uniformity. Systems tend 
to subside to very simple states,independent of their specific history."
Herbert Callen . Thermodynamics and an Introduction to Thermostatics.

------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_feb
_______________________________________________
Libmesh-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libmesh-users

Reply via email to