Robert G. Nelson (rgnelson)
Moderator Username: rgnelson
Post Number: 1295 Registered: 06-2003
| Posted on Sunday, October 04, 2009 - 08:02 pm: | |
We have written brief descriptions of internal methods from time to time, but so far we have not sat down and written an "Inside FlexPDE" document, even though we say repeatedly that we should. 1. FlexPDE uses standard Galerkin Finite Element methods, with quadratic (optionally linear or cubic) interpolation over triangles or tetrahedra. Nodal values are placed on corners and sides of the mesh cells, so that all solutions are continuous throughout space (except at CONTACT boundaries). With this piecewise interpolation, derivatives of system variables are not guaranteed to be continuous at cell boundaries. In fixed-mesh problems, all internal cells are forced to be straight-sided (linear geometry), but at curved boundaries and in moving-mesh problems, each cell uses interpolated geometry of the same order as the variable interpolation. 2. The Galerkin equations are formed by symbolic analysis, which substitutes definitions, segregates dependencies on variables, applies integration by parts, integrates over cells, and ultimately differentiates the resulting system with respect to system variables to form the coupling matrix. Integration by parts (equivalent in some cases to applying the Divergence Theorem) implies continuity of flux across cell boundaries, and therefore energy/mass conservation - provided that the PDE's are written as the divergence of some kind of conservative flux. 3. Equations are solved simultaneously by a conjugate-gradient iterative method. Nonlinear systems automatically apply a Newton-Raphson iteration process with backtracking. This results in a fully implicit solution at the end of each grid phase. 4. Time-evolution equations apply an implicit Backward Difference Method for integration in time. This requires a matrix inversion (or rather simultaneous solution) on each timestep, but it is stiffly stable as a result. Variables are approximated by quadratic polynomials in time, and the timestep is controlled to keep the cubic term smaller than the required ERRLIM. 5. The finite element equations minimize the residual of the galerkin integral over a patch of cells surrounding each mesh node. We then analyze the residuals in each cell independently as a measure of compliance, and subdivide each cell in which the required error tolerance is exceeded. Any cell thus split can be re-merged whenever the cell error drops to 1/10 of the splitting tolerance. I hope this quick overview answers some of your questions. If there are specific issues you would like to pursue, please don't hesitate to ask.
|