 <?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ja">
	<id>https://wiki.opencae.or.jp/index.php?action=history&amp;feed=atom&amp;title=DecomposeParDict%E3%81%AE%E4%B8%AD%E8%BA%AB</id>
	<title>DecomposeParDictの中身 - 版の履歴</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.opencae.or.jp/index.php?action=history&amp;feed=atom&amp;title=DecomposeParDict%E3%81%AE%E4%B8%AD%E8%BA%AB"/>
	<link rel="alternate" type="text/html" href="https://wiki.opencae.or.jp/index.php?title=DecomposeParDict%E3%81%AE%E4%B8%AD%E8%BA%AB&amp;action=history"/>
	<updated>2026-06-10T08:07:53Z</updated>
	<subtitle>このウィキのこのページに関する変更履歴</subtitle>
	<generator>MediaWiki 1.37.6</generator>
	<entry>
		<id>https://wiki.opencae.or.jp/index.php?title=DecomposeParDict%E3%81%AE%E4%B8%AD%E8%BA%AB&amp;diff=375&amp;oldid=prev</id>
		<title>Mmer547: ページの作成:「decomposeParDictのサンプルは、 &lt;OpenFOAMのインストールフォルダ&gt;/applications/utilities/parallelProcessing/decomposePar/decomposeParDict に置いてあ...」</title>
		<link rel="alternate" type="text/html" href="https://wiki.opencae.or.jp/index.php?title=DecomposeParDict%E3%81%AE%E4%B8%AD%E8%BA%AB&amp;diff=375&amp;oldid=prev"/>
		<updated>2018-10-16T11:24:45Z</updated>

		<summary type="html">&lt;p&gt;ページの作成:「decomposeParDictのサンプルは、 &amp;lt;OpenFOAMのインストールフォルダ&amp;gt;/applications/utilities/parallelProcessing/decomposePar/decomposeParDict に置いてあ...」&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新規ページ&lt;/b&gt;&lt;/p&gt;&lt;div&gt;decomposeParDictのサンプルは、&lt;br /&gt;
&amp;lt;OpenFOAMのインストールフォルダ&amp;gt;/applications/utilities/parallelProcessing/decomposePar/decomposeParDict&lt;br /&gt;
に置いてある。&lt;br /&gt;
&lt;br /&gt;
各パラメータについてはコメントで説明されている。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
/*--------------------------------*- C++ -*----------------------------------*\&lt;br /&gt;
| =========                 |                                                 |&lt;br /&gt;
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |&lt;br /&gt;
|  \\    /   O peration     | Version:  v1806                                 |&lt;br /&gt;
|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |&lt;br /&gt;
|    \\/     M anipulation  |                                                 |&lt;br /&gt;
\*---------------------------------------------------------------------------*/&lt;br /&gt;
FoamFile&lt;br /&gt;
{&lt;br /&gt;
    version     2.0;&lt;br /&gt;
    format      ascii;&lt;br /&gt;
    class       dictionary;&lt;br /&gt;
    note        &amp;quot;mesh decomposition control dictionary&amp;quot;;&lt;br /&gt;
    object      decomposeParDict;&lt;br /&gt;
}&lt;br /&gt;
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //&lt;br /&gt;
//- The total number of domains (mandatory)&lt;br /&gt;
numberOfSubdomains  256;&lt;br /&gt;
//- The decomposition method (mandatory)&lt;br /&gt;
method          scotch;&lt;br /&gt;
// method          hierarchical;&lt;br /&gt;
// method          simple;&lt;br /&gt;
// method          metis;&lt;br /&gt;
// method          manual;&lt;br /&gt;
// method          multiLevel;&lt;br /&gt;
// method          structured;  // does 2D decomposition of structured mesh&lt;br /&gt;
//- Optional region-wise decomposition.&lt;br /&gt;
//  Can specify a different method.&lt;br /&gt;
//  The number of subdomains can be less than the top-level numberOfSubdomains.&lt;br /&gt;
regions&lt;br /&gt;
{&lt;br /&gt;
    water&lt;br /&gt;
    {&lt;br /&gt;
        numberOfSubdomains 128;&lt;br /&gt;
        method  metis;&lt;br /&gt;
    }&lt;br /&gt;
    &amp;quot;.*solid&amp;quot;&lt;br /&gt;
    {&lt;br /&gt;
        numberOfSubdomains 4;&lt;br /&gt;
        method  metis;&lt;br /&gt;
    }&lt;br /&gt;
    heater&lt;br /&gt;
    {&lt;br /&gt;
        numberOfSubdomains 1;&lt;br /&gt;
        method  none;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
// Coefficients for the decomposition method are either as a&lt;br /&gt;
// general &amp;quot;coeffs&amp;quot; dictionary or method-specific &amp;quot;&amp;lt;method&amp;gt;Coeffs&amp;quot;.&lt;br /&gt;
// For multiLevel, using multiLevelCoeffs only.&lt;br /&gt;
multiLevelCoeffs&lt;br /&gt;
{&lt;br /&gt;
    // multiLevel decomposition methods to apply in turn.&lt;br /&gt;
    // This is like hierarchical but fully general&lt;br /&gt;
    // - every method can be used at every level.&lt;br /&gt;
    // Only sub-dictionaries containing the keyword &amp;quot;method&amp;quot; are used.&lt;br /&gt;
    //&lt;br /&gt;
    level0&lt;br /&gt;
    {&lt;br /&gt;
        numberOfSubdomains  16;&lt;br /&gt;
        method scotch;&lt;br /&gt;
    }&lt;br /&gt;
    level1&lt;br /&gt;
    {&lt;br /&gt;
        numberOfSubdomains  2;&lt;br /&gt;
        method scotch;&lt;br /&gt;
        coeffs&lt;br /&gt;
        {&lt;br /&gt;
            n       (2 1 1);&lt;br /&gt;
            delta   0.001;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    level2&lt;br /&gt;
    {&lt;br /&gt;
        numberOfSubdomains  8;&lt;br /&gt;
        // method simple;&lt;br /&gt;
        method scotch;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
multiLevelCoeffs&lt;br /&gt;
{&lt;br /&gt;
    // Compact multiLevel specification, activated by the presence of the&lt;br /&gt;
    // keywords &amp;quot;method&amp;quot; and &amp;quot;domains&amp;quot;&lt;br /&gt;
    method  scotch;&lt;br /&gt;
    domains (16 2 8);&lt;br /&gt;
    //// Or with implicit '16' for the first level with numberOfSubdomains=256&lt;br /&gt;
    //domains (2 8);&lt;br /&gt;
}&lt;br /&gt;
// Other example coefficients&lt;br /&gt;
simpleCoeffs&lt;br /&gt;
{&lt;br /&gt;
    n           (2 1 1);&lt;br /&gt;
    // delta       0.001;  //&amp;lt; default value = 0.001&lt;br /&gt;
}&lt;br /&gt;
hierarchicalCoeffs&lt;br /&gt;
{&lt;br /&gt;
    n           (1 2 1);&lt;br /&gt;
    // delta       0.001;  //&amp;lt; default value = 0.001&lt;br /&gt;
    // order       xyz;    //&amp;lt; default order = xyz&lt;br /&gt;
}&lt;br /&gt;
metisCoeffs&lt;br /&gt;
{&lt;br /&gt;
 /*&lt;br /&gt;
    processorWeights&lt;br /&gt;
    (&lt;br /&gt;
        1&lt;br /&gt;
        1&lt;br /&gt;
        1&lt;br /&gt;
        1&lt;br /&gt;
    );&lt;br /&gt;
  */&lt;br /&gt;
}&lt;br /&gt;
scotchCoeffs&lt;br /&gt;
{&lt;br /&gt;
    //processorWeights&lt;br /&gt;
    //(&lt;br /&gt;
    //    1&lt;br /&gt;
    //    1&lt;br /&gt;
    //    1&lt;br /&gt;
    //    1&lt;br /&gt;
    //);&lt;br /&gt;
    //writeGraph  true;&lt;br /&gt;
    //strategy &amp;quot;b&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
manualCoeffs&lt;br /&gt;
{&lt;br /&gt;
    dataFile    &amp;quot;decompositionData&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
structuredCoeffs&lt;br /&gt;
{&lt;br /&gt;
    // Patches to do 2D decomposition on. Structured mesh only; cells have&lt;br /&gt;
    // to be in 'columns' on top of patches.&lt;br /&gt;
    patches     (movingWall);&lt;br /&gt;
    // Method to use on the 2D subset&lt;br /&gt;
    method      scotch;&lt;br /&gt;
}&lt;br /&gt;
//- Use the volScalarField named here as a weight for each cell in the&lt;br /&gt;
//  decomposition.  For example, use a particle population field to decompose&lt;br /&gt;
//  for a balanced number of particles in a lagrangian simulation.&lt;br /&gt;
// weightField dsmcRhoNMean;&lt;br /&gt;
//// Is the case distributed? Note: command-line argument -roots takes&lt;br /&gt;
//// precedence&lt;br /&gt;
//distributed     yes;&lt;br /&gt;
//&lt;br /&gt;
//// Per slave (so nProcs-1 entries) the directory above the case.&lt;br /&gt;
//roots&lt;br /&gt;
//(&lt;br /&gt;
//    &amp;quot;/tmp&amp;quot;&lt;br /&gt;
//    &amp;quot;/tmp&amp;quot;&lt;br /&gt;
//);&lt;br /&gt;
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //&lt;br /&gt;
// Decomposition constraints&lt;br /&gt;
//constraints&lt;br /&gt;
//{&lt;br /&gt;
//    preserveBaffles&lt;br /&gt;
//    {&lt;br /&gt;
//        //- Keep owner and neighbour of baffles on same processor (i.e.&lt;br /&gt;
//        // keep it detectable as a baffle). Baffles are two boundary face&lt;br /&gt;
//        // sharing the same points&lt;br /&gt;
//        type    preserveBaffles;&lt;br /&gt;
//    }&lt;br /&gt;
//    preserveFaceZones&lt;br /&gt;
//    {&lt;br /&gt;
//        //- Keep owner and neighbour on same processor for faces in zones&lt;br /&gt;
//        type    preserveFaceZones;&lt;br /&gt;
//        zones   (&amp;quot;.*&amp;quot;);&lt;br /&gt;
//    }&lt;br /&gt;
//    preservePatches&lt;br /&gt;
//    {&lt;br /&gt;
//        //- Keep owner and neighbour on same processor for faces in patches&lt;br /&gt;
//        //  (only makes sense for cyclic patches. Not suitable for e.g.&lt;br /&gt;
//        //   cyclicAMI since these are not coupled on the patch level. Use&lt;br /&gt;
//        //   singleProcessorFaceSets for those)&lt;br /&gt;
//        type    preservePatches;&lt;br /&gt;
//        patches (&amp;quot;.*&amp;quot;);&lt;br /&gt;
//    }&lt;br /&gt;
//    singleProcessorFaceSets&lt;br /&gt;
//    {&lt;br /&gt;
//        //- Keep all of faceSet on a single processor. This puts all cells&lt;br /&gt;
//        //  connected with a point, edge or face on the same processor.&lt;br /&gt;
//        //  (just having face connected cells might not guarantee a balanced&lt;br /&gt;
//        //  decomposition)&lt;br /&gt;
//        // The processor can be -1 (the decompositionMethod chooses the&lt;br /&gt;
//        // processor for a good load balance) or explicitly provided (upsets&lt;br /&gt;
//        // balance)&lt;br /&gt;
//        type    singleProcessorFaceSets;&lt;br /&gt;
//        singleProcessorFaceSets ((f1 -1));&lt;br /&gt;
//    }&lt;br /&gt;
//    refinementHistory&lt;br /&gt;
//    {&lt;br /&gt;
//        //- Decompose cells such that all cell originating from single cell&lt;br /&gt;
//        //  end up on same processor&lt;br /&gt;
//        type    refinementHistory;&lt;br /&gt;
//    }&lt;br /&gt;
//}&lt;br /&gt;
// Deprecated form of specifying decomposition constraints:&lt;br /&gt;
//- Keep owner and neighbour on same processor for faces in zones:&lt;br /&gt;
// preserveFaceZones (heater solid1 solid3);&lt;br /&gt;
//- Keep owner and neighbour on same processor for faces in patches:&lt;br /&gt;
//  (makes sense only for cyclic patches. Not suitable for e.g. cyclicAMI&lt;br /&gt;
//   since these are not coupled on the patch level. Use&lt;br /&gt;
//   singleProcessorFaceSets for those)&lt;br /&gt;
//preservePatches (cyclic_half0 cyclic_half1);&lt;br /&gt;
//- Keep all of faceSet on a single processor. This puts all cells&lt;br /&gt;
//  connected with a point, edge or face on the same processor.&lt;br /&gt;
//  (just having face connected cells might not guarantee a balanced&lt;br /&gt;
//  decomposition)&lt;br /&gt;
// The processor can be -1 (the decompositionMethod chooses the processor&lt;br /&gt;
// for a good load balance) or explicitly provided (upsets balance).&lt;br /&gt;
//singleProcessorFaceSets ((f0 -1));&lt;br /&gt;
//- Keep owner and neighbour of baffles on same processor (i.e. keep it&lt;br /&gt;
//  detectable as a baffle). Baffles are two boundary face sharing the&lt;br /&gt;
//  same points.&lt;br /&gt;
//preserveBaffles true;&lt;br /&gt;
// ************************************************************************* //&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mmer547</name></author>
	</entry>
</feed>