Administrator
|
The "__lm#_dvar" variables refer to lagrange multipliers for depentent variable "dvar", which are used to implement boundary and subdomain intergral constraints. Effectively what this does is to add rows/columns to your system matrix which couples the affected degrees of freedom so as to satisfy prescribed integral value(s).
The "parsephys" (called by "parseprob") tries to check and validate your problem and adds these if it deems necessary. The issue is that solutions to stationary/static problems without any fixed value (Dirichlet) boundary conditions are only unique up on an arbitrary constant which the solvers typically don't like. For example, a static heat transfer problem with only flux boundary conditions will have this issue, and for the driven cavity flow problem where only velocities are prescribed the pressure is not uniquely defined. So to fix this an integral constraint using lagrange multipliers is added (by default fixing the mean value zero).
To avoid the automatic addition of this constraint you can either add it manually (before parsing), or introduce a pressure boundary condition, or fix the pressue in at least one point.
It might be possible to add and automatically remove it afterwards in the future, but currently the solver has no information about what has been added by parsephys/prob or by the user, so it will not remove anything just in case.
I hope this explains what is going on.
|