I added an member to my class by the name “linear_solver” and initialize it in 
the init_data() method using this snippet: 

    linear_solver.reset(new libMesh::PetscLinearSolver<Real>(this->comm()));
    if (libMesh::on_command_line("--solver_system_names")) {
        
        std::string nm = this->name() + "_";
        linear_solver->init(nm.c_str());
    }


Seems to be working fine so far. 

-Manav


> On Jan 29, 2018, at 3:12 PM, Roy Stogner <royst...@ices.utexas.edu> wrote:
> 
> 
> On Mon, 29 Jan 2018, Manav Bhatia wrote:
> 
>> I ended up creating a function similar to the one in LInearImplicitSystem to 
>> get around this issue.
>> 
>> Working out fine now.
> 
> Good to hear.
> 
> Is your get_linear_solver() anything general enough to move upstream
> to NonlinearImplicitSystem?  The lack of a get_linear_solver()
> overload there might be because I was going to add one and realized
> some good reason why I couldn't, but a more likely scenario is just
> that I wasn't using (or testing with, therefore) that class and didn't
> want to implement something blind.
> ---
> Roy

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Libmesh-users mailing list
Libmesh-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libmesh-users

Reply via email to