I believe you need to first check DofObject::n_comp() for the node to make sure it's not 0.
On Feb 15, 2013, at 11:02 AM, "Subramanya Gautam Sadasiva" <ssadasiv@...> wrote:
> Hi ,
> I knew that that was the way things were implemented. The main problem seems to be that I am using the snes-vi solver and to apply the bounds , I do
>
>
>
> MeshBase::const_node_iterator node_it = _solbub._mesh->local_nodes_begin();
> const MeshBase::const_node_iterator node_it_end = _solbub._mesh->local_nodes_end();
> for (;node_it!=node_it_end;node_it++)
>
> {
>
> Node* node = *node_it;
>
> const unsigned int dofnum_phi = node->dof_number(sys_num,phi_var,0);
> const unsigned int dofnum_mu = node->dof_number(sys_num,mu_var,0);
>
>
> }
>
> This causes a segmentation fault. I guess the node iterator goes over ALL the nodes that it sees. How do I check if dof_number is returning something meaningful? Sorry my first email was a bit hasty. I sent it before I localized the error.
>
> 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.
>
> ----- Original Message -----
> From: "David Knezevic" <dknezevic@...>
> Cc: libmesh-users@...
> Sent: Friday, February 15, 2013 11:54:28 AM
> Subject: Re: [Libmesh-users] Multiple equatiosn with different orders of interpolation
>
>
> On 02/15/2013 11:48 AM, Kirk, Benjamin (JSC-EG311) wrote:
>>
>> On Feb 15, 2013, at 10:41 AM, "David Knezevic" <dknezevic@...> wrote:
>>
>>> On 02/15/2013 11:39 AM, Subramanya Gautam Sadasiva wrote:
>>>> Hi,
>>>> I am trying to solve a problem with multiple system objects as part of the same equation syztems object. One of them ( A navier stokes solver ) needs quad9 elements and the other one a cahn hilliard solver, I want to solve using QUAD4 elements. Is this possible on a single mesh?. The code does not work when I try to do this.
>>> Sure, that should be no problem.
>>>
>>> David
>> The trick is the difference between geometric elements and finite elements. Your mesh will need Quad9 geometric elements, but you can add bilinear, biquadratic, hierarchic, whatever finite element approximations.
>
> Yes, sorry my post didn't actually point out the answer!
>
>
>
>
> ------------------------------------------------------------------------------
> Free Next-Gen Firewall Hardware Offer
> Buy your Sophos next-gen firewall before the end March 2013
> and get the hardware for free! Learn more.
> http://p.sf.net/sfu/sophos-d2d-feb
> _______________________________________________
> Libmesh-users mailing list
> Libmesh-users@...
> https://lists.sourceforge.net/lists/listinfo/libmesh-users
>
> ------------------------------------------------------------------------------
> Free Next-Gen Firewall Hardware Offer
> Buy your Sophos next-gen firewall before the end March 2013
> and get the hardware for free! Learn more.
> http://p.sf.net/sfu/sophos-d2d-feb
> _______________________________________________
> Libmesh-users mailing list
> Libmesh-users@...
> https://lists.sourceforge.net/lists/listinfo/libmesh-users
|