General

General

How to select, modify, and display the domain decomposition in MPP LS-DYNA?

    • FAQFAQ
      Participant

      A good domain decomposition can improve the efficiency of an MPP analysis. This is especially true when material inelasticity occurs since the modeling of the inelastic behavior is in general more computationally demanding (i.e., involves a higher number of operations) than the elastic behavior. A decomposition that partitions the region of the expected inelastic behavior among the available processors, if possible, can benefit the performance of the analysis. For example, in a car crash analysis, inelastic deformation is expected to occur at the crash front region. Therefore, it would be prudent to decompose the domain into parallel strips that run perpendicularly to the crash front so that each processor has a similar number of elements in the crash front. In the opposite scenario in which the inelastic behavior takes place in a small number of processors, these processors will need more time to complete the stress update causing the remaining processors (that process the elastic region) to wait, and thereby creating a bottleneck. By default, the domain decomposition in MPP LS-DYNA is done with the recursive coordinate bisection method. The method works by recursively slicing the model in half. The slicing is done perpendicularly to the coordinate axis along which the given partition of the model is longest. This tends to produce cube shaped domains aligned along the coordinate axes which may not be always desirable, as explained above. To modify the original decomposition, the keyword *CONTROL_MPP_DECOMPOSITION_TRANSFORMATION can be used. This provides a set of coordinate transformation functions which are applied to the model before it is decomposed. The decomposition algorithm is then applied to the transformed model, and then the resulting decomposition is mapped back to the original model. The available coordinate transformation functions include the scale factors SX, SY, and SZ, which are applied to the nodal coordinates of the model, and the rotations RX, RY, and RZ, which can be used rotate the model, as explained in Appendix O of the Manual Vol I. The rotations are given in degrees. For example, a transformation of SY=100.0 means that the transformed domain (which will be passed to the decomposition algorithm) is produced by multiplying the Y coordinate of the original domain by a factor of 100. In a cube shaped original domain that is aligned with the coordinate axes, a decomposition with SY=100.0 would be equivalent to slicing the original model perpendicularly to the Y axis only, if no more than 100 processors are specified. The domain decomposition in an MPP analysis can be displayed with either of the two following ways. 1) The keyword *CONTROL_MPP_DECOMPOSITION_SHOW will terminate MPP LS-DYNA once the decomposition phase is completed. The decomposition is written in the d3plot database and the can viewed in LS-PrePost. In the resulting d3plot file, each part corresponds to the group of elements of a certain type (solids, shells, thick shells, beams or SPH particles) that are assigned to a processor. 2) The keyword *CONTROL_MPP_DECOMPOSITION_OUTDECOMP with ITYPE=1 will write the decomposition in the file decomp_parts.lsprepost and then the analysis will continue. The file can be viewed in LS-PrePost by first reading d3plot and then selecting: FEM > Model and Part > Views > MPP > decomp_parts.lsprepost. The resulting views display the group of elements (of any type) assigned to each processor. This is currently available only in the Linux version of LS-PrePost.