ENH: DMD: add multi-patch input functionality
EP#1796, EP#1873
Summary
This feature allows users to specify multiple patches in DMD calculations:
DMD1
{
// Optional entries
// Option-1
patch <word>;
// Option-2
patches (<wordRes>);
}
The DMD snapshots concatenate each patch field, e.g. for velocity field:
(u1 v1 w1 u2 v2 w2 u1_o v1_o w1_o u2_o v2_o w2_o)
where "1" and "2" indicate different patches, "u v w" different components of a vector, and "o" the previous DMD step.
Also, the most expensive parts of the STDMD
implementation were identified and reworked resulting in various reductions in calculation runtime.
For example, the timing of the standard "cylinder2D" tutorial (i.e. with all STDMD
function objects are active), the duration of the parallel 12-processor simulation has been reduced from ~200secs to ~80secs during local tests, approximately a ~60% reduction.
Another test of DrivAer was reported to provide approximately 10x speedup.
Tests
-
linux64ClangDPInt32Opt
(clang11) -
linux64GccDPInt32Opt
-
linux64GccSPDPInt64Debug
-
Alltest: No new error