Package PyFoam :: Package Applications :: Module CommonMultiRegion
[hide private]
[frames] | no frames]

Source Code for Module PyFoam.Applications.CommonMultiRegion

 1  """ 
 2  Class that implements the common functionality for cases with multiple regions 
 3  """ 
 4   
 5  from optparse import OptionGroup 
 6   
 7  from PyFoam.FoamInformation import oldAppConvention as oldApp 
 8   
9 -class CommonMultiRegion(object):
10 """ The class that looks for multiple mesh regions 11 """ 12
13 - def addOptions(self):
14 grp=OptionGroup(self.parser, 15 "Multiple regions", 16 "Treatment of cases with multiple mesh regions") 17 grp.add_option("--all-regions", 18 action="store_true", 19 default=False, 20 dest="regions", 21 help="Executes the command for all available regions (builds a pseudo-case for each region)") 22 23 grp.add_option("--region", 24 dest="region", 25 action="append", 26 default=None, 27 help="Executes the command for a region (builds a pseudo-case for that region). A value of 'region0' is the default region") 28 29 grp.add_option("--keep-pseudocases", 30 action="store_true", 31 default=False, 32 dest="keeppseudo", 33 help="Keep the pseudo-cases that were built for a multi-region case") 34 self.parser.add_option_group(grp)
35 36
37 - def buildRegionArgv(self,case,region):
38 args=self.parser.getArgs()[:] 39 if oldApp(): 40 if region!=None: 41 args[2]+="."+region 42 else: 43 if region!=None: 44 if "-case" in args: 45 args[args.index("-case")+1]=case+"."+region 46 else: 47 args+=["-case",case+"."+region] 48 return args
49