--Thanks,Marco
You received this message because you are subscribed to the Google Groups "moose-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to moose-users...@googlegroups.com.
Visit this group at http://groups.google.com/group/moose-users.
To view this discussion on the web visit https://groups.google.com/d/msgid/moose-users/120df113-07dc-4b91-86ab-ce4293209932%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
To view this discussion on the web visit https://groups.google.com/d/msgid/moose-users/CADJmAN9mbgsmLirKLoYBmsoZcLTrOU6%2BN-Ewe0tmr8%3DDnBZiRg%40mail.gmail.com.
Is that Jacobian consistent with the residual?
To view this discussion on the web visit https://groups.google.com/d/msgid/moose-users/903A9F8D-EAF3-46B6-A53A-D9AAE02D2DFE%40tamu.edu.
Thanks. That’s what I thought, too.
For people following the conservation on the list:
The residual is contains the action of the mass matrix on _u_dot but the way it is computed, it is the action of the unlumped mass matrix.
I think only the Jacobian is lumped, so there is a little inconsistency between the residual and the associated jacobian.
So, a quick follow-up: when explicit time stepping is used and lumping is chosen (and one has a time derivative kernel is linear with respect to the solution variable), should one expect more than 1 nonlinear solve per time step increment?
Thanks
--jean
To view this discussion on the web visit https://groups.google.com/d/msgid/moose-users/CADJmAN8TLHcD77%3D75sQ7S5YyL6v-HmuKHcYORUfTLL0T3UP%2ByA%40mail.gmail.com.
Thanks. That’s what I thought, too.
For people following the conservation on the list:
The residual is contains the action of the mass matrix on _u_dot but the way it is computed, it is the action of the unlumped mass matrix.
I think only the Jacobian is lumped, so there is a little inconsistency between the residual and the associated jacobian.
So, a quick follow-up: when explicit time stepping is used and lumping is chosen (and one has a time derivative kernel is linear with respect to the solution variable), should one expect more than 1 nonlinear solve per time step increment?
To view this discussion on the web visit https://groups.google.com/d/msgid/moose-users/748FCA3DB339B64DADF512202A539D1AABE7E447%40mb01.ads.tamu.edu.
To view this discussion on the web visit https://groups.google.com/d/msgid/moose-users/CADJmAN80xQoK%2BPyzaqEyAWtoPpvtJVY1ZJrJhXAYV4yYuwShrQ%40mail.gmail.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/moose-users/CAPGU_kAc-XGXrX4hSmd4FhYDvK4-ApSq65ac2dPBLaLPM3vhaA%40mail.gmail.com.
Why is the mass matrix not lumped when the boolean 'lumping' is set to true in the input file? What is the logic behind it?
Also, I am writing a function to lump the mass matrix and I have a few questions:
- in the TimeDerivative kernel, the function ComputeQpResidual returns the value _phi[_i][_qp]*_u_dot[_qp]. My understanding is that _u_dot[_qp] = \sum_j \phi[_j][_qp]*dU/dt)_j where U_j are the nodal values of the solution U. Am I correct?
- In order to compute the lumped mass matrix terms, it would be easier if I had access to dU/dt)_j. Is it doable? Also, my understanding is that the term dU/dt)_j is computed from a time_integrator function (BDF2.C, rk-2.C, ....). Am I correct?
To view this discussion on the web visit https://groups.google.com/d/msgid/moose-users/CAPGU_kBx3bd%3DN1hZj%3DkY6BjEc1mFg%3DuAo_%3Dd3AZPEPGgcOHh0g%40mail.gmail.com.
Lumping is done then _lumping == true. Look at the code again...
--
You received this message because you are subscribed to the Google Groups "moose-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to moose-users...@googlegroups.com.
Visit this group at http://groups.google.com/group/moose-users.
To view this discussion on the web visit https://groups.google.com/d/msgid/moose-users/CAPGU_kDw8ypUZburVCMFDZrJGb3VgGrR8JwSUCQ6HG7wm7JOig%40mail.gmail.com.
Hi,
I have implemented proper mass lumping in the “richards” module. Viz
modules/richards/src/kernels/RichardsLumpedMassChange.C
It is probably more complicated than most people need, as this kernel can handle an arbitrary number of variables, which are called _ps_at_nodes. Nevertheless, the code might act as a useful reference to other coders.
Wish-list: I feel the lack of easily-available and efficient mass lumping in MOOSE is a real failing. It seems like every month someone mentions it since it’s a standard way of getting round numerical difficulties. It’d be fantastic if libmesh could provide this feature.
a
Ph: +61 7 3327 4497. Fax: +61 7 3327 4666
Queensland Centre for Advanced Technologies
PO Box 883, Kenmore, Qld, 4069
From: moose...@googlegroups.com [mailto:moose...@googlegroups.com]
On Behalf Of Cody Permann
Sent: Wednesday, 27 May 2015 8:04 AM
To: moose...@googlegroups.com
Subject: Re: Mass lumping in Moose
Right, when you index into any of our VariableValue references, they are filled with values at the quadrature points since that's where we normally evaluate for computing the residual.
Cody
To view this discussion on the web visit https://groups.google.com/d/msgid/moose-users/CAK06EuWfODH5uustK3%2BeX1_2s_kaQtGUz_P4JCefCcLubDuHxA%40mail.gmail.com.
Hi,
I have implemented proper mass lumping in the “richards” module. Viz
modules/richards/src/kernels/RichardsLumpedMassChange.C
It is probably more complicated than most people need, as this kernel can handle an arbitrary number of variables, which are called _ps_at_nodes. Nevertheless, the code might act as a useful reference to other coders.
Wish-list: I feel the lack of easily-available and efficient mass lumping in MOOSE is a real failing. It seems like every month someone mentions it since it’s a standard way of getting round numerical difficulties. It’d be fantastic if libmesh could provide this feature.
To view this discussion on the web visit https://groups.google.com/d/msgid/moose-users/57596E6532C9F54F9DF09BCDFE7B1D3AA25648F0%40exmbx06-cdc.nexus.csiro.au.
(1) I don’t actually need _u_dot : i’d prefer to explicitly calculate \dot{mass} in the way i do in order to ensure mass conservation (my “mass” is a nonlinear function of “u”). I know the nodal variables are available, but the code still looks crazily inefficient and complicated.
(2) I return zero because the mass at one node doesn’t depend on the variables at another node (which is the principal of mass lumping). Your method of adding the off-diagonal entries to the diagonal ones achieves a similar goal, but your residual is not mass-lumped.
a
Ph: +61 7 3327 4497. Fax: +61 7 3327 4666
Queensland Centre for Advanced Technologies
PO Box 883, Kenmore, Qld, 4069
To view this discussion on the web visit https://groups.google.com/d/msgid/moose-users/CADJmAN-PWMj-qjarwRu%2BCzCFCjsPaKDkiugjxJ%2B%2B0LO7EESaCw%40mail.gmail.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/moose-users/57596E6532C9F54F9DF09BCDFE7B1D3AA25649B6%40exmbx06-cdc.nexus.csiro.au.
yes, you are correct Marco (as far as i know anyway!). i only use those in my work so it’s not a problem for me.
a
Ph: +61 7 3327 4497. Fax: +61 7 3327 4666
Queensland Centre for Advanced Technologies
PO Box 883, Kenmore, Qld, 4069
To view this discussion on the web visit https://groups.google.com/d/msgid/moose-users/CAPGU_kCcmhx_0LMYfhqBiN9yd2wyntk9Pg%3DXuWap4BRL6FbbbA%40mail.gmail.com.
Thanks Andrew for the information. I will have a look at it.I agree with Andrew, the residual is not mass-lumped as it is currently implemented in Moose.
To view this discussion on the web visit https://groups.google.com/d/msgid/moose-users/CAPGU_kC2ZFFQGu2DXqv4FUyzeHmeKXGq3KNAw7TMkB0MZP3V7A%40mail.gmail.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/moose-users/CADJmAN-N8Vm9NSdOumyZ4M9ZR3nEM8bu-UtLV2%3D24dnKi_mb_g%40mail.gmail.com.
yes, you are correct Marco (as far as i know anyway!). i only use those in my work so it’s not a problem for me.
To view this discussion on the web visit https://groups.google.com/d/msgid/moose-users/57596E6532C9F54F9DF09BCDFE7B1D3AA2564ACE%40exmbx06-cdc.nexus.csiro.au.
Well, in that case, does it make sense to call it 'lumping' since you do not lump the mass matrix in the residual? It can be very confusing.
To view this discussion on the web visit https://groups.google.com/d/msgid/moose-users/CAPGU_kDYoTbYe25dca4_kZRopQJ3Ck0msZNkQDxcrM4Kv93UEg%40mail.gmail.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/moose-users/CADJmAN-AiWX5QpK3gPCusW6Lm7inkT7d3DRa5KHs%2BVEupFsG%2BA%40mail.gmail.com.
To unsubscribe from this group and stop receiving emails from it, send an email to moose-users...@googlegroups.com.
Visit this group at http://groups.google.com/group/moose-users.
To view this discussion on the web visit https://groups.google.com/d/msgid/moose-users/57596E6532C9F54F9DF09BCDFE7B1D3AA2564D3B%40exmbx06-cdc.nexus.csiro.au.