[cig-commits] r7290 - in mc/3D/CitcomS/trunk: CitcomS
CitcomS/Coupler etc
tan2 at geodynamics.org
tan2 at geodynamics.org
Mon Jun 18 16:21:10 PDT 2007
Author: tan2
Date: 2007-06-18 16:21:10 -0700 (Mon, 18 Jun 2007)
New Revision: 7290
Modified:
mc/3D/CitcomS/trunk/CitcomS/CoupledApp.py
mc/3D/CitcomS/trunk/CitcomS/Coupler/Coupler.py
mc/3D/CitcomS/trunk/CitcomS/Layout.py
mc/3D/CitcomS/trunk/etc/full.odb
mc/3D/CitcomS/trunk/etc/regional.odb
Log:
Renamed 'XXX1' -> 'cXXX' and 'XXX2' -> 'eXXX'
Modified: mc/3D/CitcomS/trunk/CitcomS/CoupledApp.py
===================================================================
--- mc/3D/CitcomS/trunk/CitcomS/CoupledApp.py 2007-06-18 23:06:40 UTC (rev 7289)
+++ mc/3D/CitcomS/trunk/CitcomS/CoupledApp.py 2007-06-18 23:21:10 UTC (rev 7290)
@@ -49,9 +49,9 @@
def getNodes(self):
- s1 = self.inventory.solver1.inventory.mesher.inventory
+ s1 = self.inventory.csolver.inventory.mesher.inventory
nproc1 = s1.nproc_surf * s1.nprocx * s1.nprocy * s1.nprocz
- s2 = self.inventory.solver2.inventory.mesher.inventory
+ s2 = self.inventory.esolver.inventory.mesher.inventory
nproc2 = s2.nproc_surf * s2.nprocx * s2.nprocy * s2.nprocz
return nproc1 + nproc2
@@ -71,20 +71,20 @@
def findLayout(self, layout):
- if layout.comm1:
- self.controller = self.inventory.controller1
- self.solver = self.inventory.solver1
- self.coupler = self.inventory.coupler1
- self.solverCommunicator = layout.comm1
- self.myPlus = layout.comm1Plus
- self.remotePlus = layout.comm2Plus
- elif layout.comm2:
- self.controller = self.inventory.controller2
- self.solver = self.inventory.solver2
- self.coupler = self.inventory.coupler2
- self.solverCommunicator = layout.comm2
- self.myPlus = layout.comm2Plus
- self.remotePlus = layout.comm1Plus
+ if layout.ccomm:
+ self.controller = self.inventory.ccontroller
+ self.solver = self.inventory.csolver
+ self.coupler = self.inventory.ccoupler
+ self.solverCommunicator = layout.ccomm
+ self.myPlus = layout.ccommPlus
+ self.remotePlus = layout.ecommPlus
+ elif layout.ecomm:
+ self.controller = self.inventory.econtroller
+ self.solver = self.inventory.esolver
+ self.coupler = self.inventory.ecoupler
+ self.solverCommunicator = layout.ecomm
+ self.myPlus = layout.ecommPlus
+ self.remotePlus = layout.ccommPlus
else:
import journal
journal.warning(self.name).log("node '%d' is an orphan"
@@ -113,12 +113,12 @@
self._info.line(" facilities:")
self._info.line(" launcher: %r" % self.inventory.launcher.name)
- self._info.line(" solver1: %r" % self.inventory.solver1.name)
- self._info.line(" solver2: %r" % self.inventory.solver2.name)
- self._info.line(" controller1: %r" % self.inventory.controller1.name)
- self._info.line(" controller2: %r" % self.inventory.controller2.name)
- self._info.line(" coupler1: %r" % self.inventory.coupler1.name)
- self._info.line(" coupler2: %r" % self.inventory.coupler2.name)
+ self._info.line(" csolver: %r" % self.inventory.csolver.name)
+ self._info.line(" esolver: %r" % self.inventory.esolver.name)
+ self._info.line(" ccontroller: %r" % self.inventory.ccontroller.name)
+ self._info.line(" econtroller: %r" % self.inventory.econtroller.name)
+ self._info.line(" ccoupler: %r" % self.inventory.ccoupler.name)
+ self._info.line(" ecoupler: %r" % self.inventory.ecoupler.name)
self._info.line(" layout: %r" % self.inventory.layout.name)
return
@@ -134,27 +134,28 @@
import Coupler
import Layout
- controller1 = pyre.inventory.facility(name="controller1",
+ ccontroller = pyre.inventory.facility(name="ccontroller",
factory=Controller.controller,
- args=("ccontroller","controller1"))
- controller2 = pyre.inventory.facility(name="controller2",
+ args=("ccontroller","ccontroller"))
+ econtroller = pyre.inventory.facility(name="econtroller",
factory=Controller.controller,
- args=("econtroller","controller2"))
- coupler1 = pyre.inventory.facility("coupler1",
+ args=("econtroller","econtroller"))
+ ccoupler = pyre.inventory.facility("ccoupler",
factory=Coupler.containingcoupler,
- args=("ccoupler","coupler1"))
- coupler2 = pyre.inventory.facility("coupler2",
+ args=("ccoupler","ccoupler"))
+ ecoupler = pyre.inventory.facility("ecoupler",
factory=Coupler.embeddedcoupler,
- args=("ecoupler","coupler2"))
+ args=("ecoupler","ecoupler"))
- solver1 = pyre.inventory.facility("solver1",
- factory=Solver.coupledRegionalSolver,
- args=("csolver", "solver1"))
- solver2 = pyre.inventory.facility("solver2",
+ csolver = pyre.inventory.facility("csolver",
+ factory=Solver.coupledFullSolver,
+ args=("csolver", "csolver"))
+ esolver = pyre.inventory.facility("esolver",
factory=Solver.coupledRegionalSolver,
- args=("esolver", "solver2"))
+ args=("esolver", "esolver"))
- layout = pyre.inventory.facility("layout", factory=Layout.layout)
+ layout = pyre.inventory.facility("layout", factory=Layout.Layout,
+ args=("layout", "layout"))
steps = pyre.inventory.int("steps", default=1)
Modified: mc/3D/CitcomS/trunk/CitcomS/Coupler/Coupler.py
===================================================================
--- mc/3D/CitcomS/trunk/CitcomS/Coupler/Coupler.py 2007-06-18 23:06:40 UTC (rev 7289)
+++ mc/3D/CitcomS/trunk/CitcomS/Coupler/Coupler.py 2007-06-18 23:21:10 UTC (rev 7290)
@@ -53,7 +53,8 @@
def initialize(self, solver):
- self.selectModule()
+ import ExchangerLib
+ self.module = ExchangerLib
self.communicator = solver.communicator
self.srcComm = solver.myPlus
self.numSrc = len(self.srcComm)
@@ -73,24 +74,18 @@
return
- def selectModule(self):
- import ExchangerLib
- self.module = ExchangerLib
- return
-
-
def modifyT(self, bbox):
self.module.modifyT(bbox, self.all_variables)
return
def preVSolverRun(self):
- # do nothing, overridden by FGE
+ # do nothing, overridden by EmbeddedCoupler
return
def postVSolverRun(self):
- # do nothing, overridden by CGE
+ # do nothing, overridden by ContainingCoupler
return
@@ -132,8 +127,7 @@
import pyre.inventory as prop
-
-
+ # updating the temperature field in the containing solver or not
two_way_communication = prop.bool("two_way_communication", default=True)
# if dimensional is True, quantities exchanged are dimensional
Modified: mc/3D/CitcomS/trunk/CitcomS/Layout.py
===================================================================
--- mc/3D/CitcomS/trunk/CitcomS/Layout.py 2007-06-18 23:06:40 UTC (rev 7289)
+++ mc/3D/CitcomS/trunk/CitcomS/Layout.py 2007-06-18 23:21:10 UTC (rev 7290)
@@ -27,10 +27,6 @@
#
-def layout(name="layout", facility="layout"):
- return Layout(name, facility)
-
-
from pyre.components.Component import Component
@@ -40,10 +36,10 @@
def __init__(self, name, facility):
Component.__init__(self, name, facility)
- self.comm1 = None
- self.comm2 = None
- self.comm1Plus = []
- self.comm2Plus = []
+ self.ccomm = None
+ self.ecomm = None
+ self.ccommPlus = []
+ self.ecommPlus = []
self.comm = None
self.rank = 0
@@ -71,16 +67,9 @@
def verify(self, application):
- size = self.nodes
- nodes = application.inventory.launcher.inventory.nodes
- if nodes != size:
+ if self.nodes < 2:
import journal
firewall = journal.firewall("layout")
- firewall.log("processor count mismatch: %d != %d" % (nodes, size))
-
- if nodes < 2:
- import journal
- firewall = journal.firewall("layout")
firewall.log("'%s' requires at least 2 processors"
% application.name)
@@ -96,19 +85,19 @@
def createCommunicators(self):
world = self.comm
myrank = world.rank
- comm1Group = self.inventory.comm1
- comm2Group = self.inventory.comm2
+ ccommGroup = self.inventory.ccomm
+ ecommGroup = self.inventory.ecomm
# communicator for solvers
- self.comm1 = world.include(comm1Group)
- self.comm2 = world.include(comm2Group)
+ self.ccomm = world.include(ccommGroup)
+ self.ecomm = world.include(ecommGroup)
# communicator for inter-solver communication
- for node in comm1Group:
- self.comm2Plus.append(world.include(comm2Group + [node]))
+ for node in ccommGroup:
+ self.ecommPlus.append(world.include(ecommGroup + [node]))
- for node in comm2Group:
- self.comm1Plus.append(world.include(comm1Group + [node]))
+ for node in ecommGroup:
+ self.ccommPlus.append(world.include(ccommGroup + [node]))
return
@@ -118,8 +107,8 @@
import pyre.inventory
- comm1 = pyre.inventory.slice("comm1", default=range(12))
- comm2 = pyre.inventory.slice("comm2", default=[12])
+ ccomm = pyre.inventory.slice("ccomm", default=range(12))
+ ecomm = pyre.inventory.slice("ecomm", default=[12])
Modified: mc/3D/CitcomS/trunk/etc/full.odb
===================================================================
--- mc/3D/CitcomS/trunk/etc/full.odb 2007-06-18 23:06:40 UTC (rev 7289)
+++ mc/3D/CitcomS/trunk/etc/full.odb 2007-06-18 23:21:10 UTC (rev 7290)
@@ -31,14 +31,20 @@
import CitcomS.Solver as SolverComponent
return SolverComponent.fullSolver()
-def coarse():
- return solver()
-def fine():
- return solver()
+def csolver():
+ import CitcomS.Solver as SolverComponent
+ return SolverComponent.coupledFullSolver('csolver', 'csolver')
+
+def esolver():
+
+ import CitcomS.Solver as SolverComponent
+ return SolverComponent.coupledFullSolver('esolver', 'esolver')
+
+
# version
__id__ = "$Id$"
-# End of file
+# End of file
Modified: mc/3D/CitcomS/trunk/etc/regional.odb
===================================================================
--- mc/3D/CitcomS/trunk/etc/regional.odb 2007-06-18 23:06:40 UTC (rev 7289)
+++ mc/3D/CitcomS/trunk/etc/regional.odb 2007-06-18 23:21:10 UTC (rev 7290)
@@ -31,14 +31,20 @@
import CitcomS.Solver as SolverComponent
return SolverComponent.regionalSolver()
-def coarse():
- return solver()
-def fine():
- return solver()
+def csolver():
+ import CitcomS.Solver as SolverComponent
+ return SolverComponent.coupledRegionalSolver('csolver', 'csolver')
+
+def esolver():
+
+ import CitcomS.Solver as SolverComponent
+ return SolverComponent.coupledRegionalSolver('esolver', 'esolver')
+
+
# version
__id__ = "$Id$"
-# End of file
+# End of file
More information about the cig-commits
mailing list