PMD is logically divided into modules that provide the necessary programs for the computation of a given type of problems.
Program | Function | Input | Protocol |
---|---|---|---|
XRM2* | Process the description of geometric properties, 2-D problems | name.i1 | name.o1 |
XRM3* | Process the description of geometric properties, 3-D problems | name.i1 | name.o1 |
XRPD | Process the description of physical properties and solver control parameters | name.iB | name.oB |
XT2S* | Solve a steady-state 2-D heat transfer problem (Modified Newton-Raphson metod) | name.oT |
|
XT3S* | Solve a steady-state 3-D heat transfer problem (Modified Newton-Raphson metod) | name.oT |
|
XT2T* | Solve a transient 2-D heat transfer problem (Modified Newton-Raphson metod) | name.oT |
|
XT3T* | Solve a transient 3-D heat transfer problem (Modified Newton-Raphson metod) | name.oT |
Program | Function | Input | Protocol |
---|---|---|---|
RMD2* | Process the description of geometric properties, 2-D problems | name.i1 | name.o1 |
RMD3* | Process the description of geometric properties, 3-D problems | name.i1 | name.o1 |
RPD2 | Process the description of physical properties, 2-D problems | name.i2 | name.o2 |
RPD3 | Process the description of physical properties, 3-D problems | name.i2 | name.o2 |
SRH2 | Calculate stiffness matrices of elements and right-hand side vectors, 2-D problems | name.i3 | name.o3 |
SRH3 | Calculate stiffness matrices of elements and right-hand side vectors, 3-D problems | name.i3 | name.o3 |
FEFS* | Solve a linear elastostatic problem (Frontal metod) | name.i4 | name.o4 |
STR2 | Calculate strains and stresses, 2-D problems | name.i5 | name.o5 |
STR3 | Calculate strains and stresses, 3-D problems | name.i5 | name.o5 |
This module also requires the programs of the Elastostatics module.
Program | Function | Input | Protocol |
---|---|---|---|
HMOT | Calculate mass matrices of elements | name.iM | name.oM |
HCRE | Calculate damping matrices of elements (Rayleigh damping) | name.iC | name.oC |
HFRO | Factorize the effective global stiffness matrix for dynamic solvers (Frontal method) | name.iR | name.oR |
HEIG* | Solve a generalized eigenvalue problem (Subspace iteration method) | name.iE | name.oE |
HFRQ | Print normalized eigenvectors and eigenfrequencies | name.iF | name.oF |
HMOD* | Solve a dynamic problem (Modal superposition method) | name.iD | name.oD |
HNEW | Solve a dynamic problem (Direct integration method) | name.iW | name.oW |
This module also requires the programs of the Elastostatics module.
Program | Function | Input | Protocol |
---|---|---|---|
HPP2 | Prepare data for nonlinear solver, 2-D problems | name.iP | name.oP |
HPP3 | Prepare data for nonlinear solver, 3-D problems | name.iP | name.oP |
HPLS* | Solve a nonlinear static problem (BFGS method) | name.iL | name.oL |
HDYN | Solve a nonlinear dynamic problem (Central difference method) | name.iN | name.oN |
This module also requires the programs of the Elastostatics module and Dynamics module.
The programs marked with an asterisk are available in two variants: standard programs that employ the frontal solver only, and alternative programs that also employ the parallel sparse direct solver. Alternative programs have the letter A appended to their name (e.g., FEFS → FEFSA, HPLS → HPLSA, etc.).
In one computational run, the same linear solver must be used, selected by the key $\mathtt{KSOL}$ in the input file name.i4
or name.iB
.
The digits 2 and 3 in some programs’ names (e.g., RMD2 and RMD3, HPP2 and HPP3, etc.) distinguishes programs designed for 2-D problems from programs designed for 3-D problems. If the incorrect program in terms of problem dimension is run within the computation, older releases of PMD (up to version 12) will abort with an error.
In newer releases of PMD (version 13 and above) the corresponding pairs of programs are still available for backward compatibility, but they are identical (merged) inside and, therefore, it does not matter which one is actually used within the computation.
The problem dimension is determined automatically at the start of the computation; if the parameter $\mathtt{ITED}\in\{4,5,6,7\}$ or the key $\mathtt{KSS}\ne0$ in the input file name.i1
, a 2-D problem is assumed, otherwise a 3-D problem is assumed.
In this way the majority of problems is identified correctly without any need to modify the input file.
The solution of heat transfer problems is divided between four programs (XT2S, XT2T, XT3S and XT3T), each of which is designed to one combination of problem dimension and type (2-D / 3-D, steady-state / transient). If the incorrect program in terms of problem dimension/type is run within the computation, older releases of PMD (up to version 12) will abort with an error.
In newer releases of PMD (version 13 and above) all four programs are still available for backward compatibility, but they are identical (merged) inside and, therefore, it does not matter which one is actually used within the computation.
The problem dimension is determined in the input file name.i1
(see Merged 2-D and 3-D programs) and the problem type by the key $\mathtt{KSU}$ in the input file name.iB
.