I'm using a FEMSystem with a NewtonSolver. I realized that in the
FEMSystem, in the assembly routines,
DofMap::constrain_element_matrix_and_vector is called with
asymmetric_constraint_rows = false. Also, because it's a nonlinear solver.
DofMap::enforce_constraints_exactly(system) is called as well. Would this
ensure me a symmetric matrix even for the refinement case?

Miguel


On Thu, Sep 4, 2014 at 1:58 PM, Miguel Angel Salazar de Troya <
[email protected]> wrote:

> Could you please tell me how to set up the conditioner like you mention?
>
> AMG on each processor wins on problems where it works, ILU (usually
> with ~4 levels) wins otherwise, tweaking Block Jacobi vs Additive
> Schwarz to tie it together can speed things up slightly.
>
> What are the command line options and packages necessary with the petsc
> installation? For AMG and ILU I assume it's hypre?
>
> Miguel
>
>
> On Thu, Sep 4, 2014 at 12:13 PM, Roy Stogner <[email protected]>
> wrote:
>
>>
>>
>> On Thu, 4 Sep 2014, Miguel Angel Salazar de Troya wrote:
>>
>>  Thanks. Could you answer the last question please? Basically I want to
>>> know if I still can use cg once I use mesh refinement? I did quick
>>> calculations with equation (7) and I see the matrix is not symmetric so
>>> I think I cannot use it.
>>>
>>
>> Sorry, I was kind of oblique:
>>
>>
>> "Depending on the constraint options you select we fill in those
>> zero blocks with the constraint equations themselves or with ones
>> on the diagonal."
>>
>> C^T K C is obviously symmetric, but if we add constraint equations
>> to the empty rows then we get something asymmetric; if you want to use
>> CG you need to make sure you're setting
>> asymmetric_constraint_rows=false (and then using
>> enforce_constraints_exactly() or something to fix up your hanging dofs
>> after each solve).
>>
>>
>>  I would like to double check with you. Which preconditioner would
>>> you recommend for adaptive mesh refinement in elasticity?
>>>
>>
>> I'm not the one to ask about preconditioners.  My experience could
>> probably be summed up as:
>>
>> AMG on each processor wins on problems where it works, ILU (usually
>> with ~4 levels) wins otherwise, tweaking Block Jacobi vs Additive
>> Schwarz to tie it together can speed things up slightly.
>>
>>
>>  Also, I had a question about the load balancing in the adaptive mesh
>>> refinement. Is this automatic?
>>>
>>
>> Yes
>>
>>  When is it done?
>>>
>>
>> Inside EquationSystems::reinit()
>>
>>
>>  The vectors associated with a system are balanced as well?
>>>
>>
>> Yes.  But they're either projected to the new grid or zeroed depending
>> on the option you gave to add_vector() or afterwards.
>>
>>
>>  What if we had created additional vectors that we initialize after each
>>> refinement with the function init (const
>>> NumericVector<T> other), i.e.
>>> http://libmesh.sourceforge.net/doxygen/classlibMesh_1_1PetscVector.php#
>>> a1a9ed9f54cab101da906d976e0b7bea1
>>>
>>
>> If you didn't use System::add_vector() to create it then the system
>> doesn't know about it and it doesn't get touched upon refinement.
>> ---
>> Roy
>>
>
>
>
> --
> *Miguel Angel Salazar de Troya*
>
> Graduate Research Assistant
> Department of Mechanical Science and Engineering
> University of Illinois at Urbana-Champaign
> (217) 550-2360
> [email protected]
>
>


-- 
*Miguel Angel Salazar de Troya*
Graduate Research Assistant
Department of Mechanical Science and Engineering
University of Illinois at Urbana-Champaign
(217) 550-2360
[email protected]
------------------------------------------------------------------------------
Slashdot TV.  
Video for Nerds.  Stuff that matters.
http://tv.slashdot.org/
_______________________________________________
Libmesh-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libmesh-users

Reply via email to