That should be OK. FiPy automatically maps the constraint onto the faceValue of a CellVariable.
> On Jul 13, 2016, at 3:26 PM, Keller, Trevor (Fed) <trevor.kel...@nist.gov> > wrote: > > Is the definition of C_a_BC correct? For a 1D grid, is the behavior of > C_a.constrain(C_a_BC, where=mesh.facesRight) > with a CellVariable instead of a scalar value > C_a_BC= C_a_0*(1-X) > meaningful? > > Trevor > From: fipy-boun...@nist.gov <fipy-boun...@nist.gov> on behalf of Daniel > DeSantis <desan...@gmail.com> > Sent: Wednesday, July 13, 2016 4:08:50 PM > To: FIPY > Subject: Re: Diffusion-Convection-Reactive Chemisty > > I'm sorry. I was trying to fix the problem, and forgot to put a line back in, > which was masked by me not clearing a variable value for V. My apologies. > Please try this code instead. It has the traceback I mentioned before. > > > > Traceback (most recent call last): > > File "<ipython-input-1-d209891ef431>", line 1, in <module> > runfile('C:/Users/ddesantis/Dropbox/PythonScripts/CFD > Models/ConversionModel.py', > wdir='C:/Users/ddesantis/Dropbox/PythonScripts/CFD Models') > > File > "C:\Users\ddesantis\AppData\Local\Continuum\Anaconda2\lib\site-packages\spyderlib\widgets\externalshell\sitecustomize.py", > line 699, in runfile > execfile(filename, namespace) > > File > "C:\Users\ddesantis\AppData\Local\Continuum\Anaconda2\lib\site-packages\spyderlib\widgets\externalshell\sitecustomize.py", > line 74, in execfile > exec(compile(scripttext, filename, 'exec'), glob, loc) > > File "C:/Users/ddesantis/Dropbox/PythonScripts/CFD > Models/ConversionModel.py", line 110, in <module> > res = Eq.sweep(dt=dt, solver=solver) > > File > "C:\Users\ddesantis\AppData\Local\Continuum\Anaconda2\lib\site-packages\fipy\terms\term.py", > line 236, in sweep > solver = self._prepareLinearSystem(var=var, solver=solver, > boundaryConditions=boundaryConditions, dt=dt) > > File > "C:\Users\ddesantis\AppData\Local\Continuum\Anaconda2\lib\site-packages\fipy\terms\term.py", > line 170, in _prepareLinearSystem > buildExplicitIfOther=self._buildExplcitIfOther) > > File > "C:\Users\ddesantis\AppData\Local\Continuum\Anaconda2\lib\site-packages\fipy\terms\coupledBinaryTerm.py", > line 122, in _buildAndAddMatrices > buildExplicitIfOther=buildExplicitIfOther) > > File > "C:\Users\ddesantis\AppData\Local\Continuum\Anaconda2\lib\site-packages\fipy\terms\binaryTerm.py", > line 68, in _buildAndAddMatrices > buildExplicitIfOther=buildExplicitIfOther) > > File > "C:\Users\ddesantis\AppData\Local\Continuum\Anaconda2\lib\site-packages\fipy\terms\binaryTerm.py", > line 68, in _buildAndAddMatrices > buildExplicitIfOther=buildExplicitIfOther) > > File > "C:\Users\ddesantis\AppData\Local\Continuum\Anaconda2\lib\site-packages\fipy\terms\binaryTerm.py", > line 68, in _buildAndAddMatrices > buildExplicitIfOther=buildExplicitIfOther) > > File > "C:\Users\ddesantis\AppData\Local\Continuum\Anaconda2\lib\site-packages\fipy\terms\unaryTerm.py", > line 99, in _buildAndAddMatrices > diffusionGeomCoeff=diffusionGeomCoeff) > > File > "C:\Users\ddesantis\AppData\Local\Continuum\Anaconda2\lib\site-packages\fipy\terms\abstractConvectionTerm.py", > line 211, in _buildMatrix > self.constraintB = -((1 - alpha) * var.arithmeticFaceValue * > constraintMask * exteriorCoeff).divergence * mesh.cellVolumes > > File > "C:\Users\ddesantis\AppData\Local\Continuum\Anaconda2\lib\site-packages\fipy\variables\variable.py", > line 1151, in __mul__ > return self._BinaryOperatorVariable(lambda a,b: a*b, other) > > File > "C:\Users\ddesantis\AppData\Local\Continuum\Anaconda2\lib\site-packages\fipy\variables\variable.py", > line 1116, in _BinaryOperatorVariable > if not v.unit.isDimensionless() or len(v.shape) > 3: > > File > "C:\Users\ddesantis\AppData\Local\Continuum\Anaconda2\lib\site-packages\fipy\variables\variable.py", > line 255, in _getUnit > return self._extractUnit(self.value) > > File > "C:\Users\ddesantis\AppData\Local\Continuum\Anaconda2\lib\site-packages\fipy\variables\variable.py", > line 561, in _getValue > value[..., mask] = numerix.array(constraint.value)[..., mask] > > IndexError: index 100 is out of bounds for axis 0 with size 100 > > On Wed, Jul 13, 2016 at 3:59 PM, Daniel Wheeler <daniel.wheel...@gmail.com> > wrote: > Hi Daniel, > > It is giving a different error for me > > Traceback (most recent call last): > File "ConversionModel.py", line 78, in <module> > V.constrain(V0,mesh.facesLeft) > NameError: name 'V' is not defined > > Is this the correct script? > > > > On Wed, Jul 13, 2016 at 3:27 PM, Daniel DeSantis <desan...@gmail.com> wrote: > > Hello, > > > > I am having some trouble getting a workable convection coefficient on a > > reactive chemistry model with a vector velocity. I have reviewed several > > examples from the FiPy mailing list and tried several of the variations > > listed there. Originally, I was receiving the error that a coefficient must > > be a vector. Now I seem to be getting an error that says the index is out of > > bounds. Specific traceback is shown below, along with the code attachment. > > > > Could anyone suggest what I am doing wrong and how to fix it? > > > > I'm relatively new to Python and FiPy, specifically, so please bear with me > > as I am learning. > > > > Thank you all! > > > > -- > > Daniel DeSantis > > > > Traceback (most recent call last): > > > > File "<ipython-input-22-d209891ef431>", line 1, in <module> > > runfile('C:/Users/ddesantis/Dropbox/PythonScripts/CFD > > Models/ConversionModel.py', > > wdir='C:/Users/ddesantis/Dropbox/PythonScripts/CFD Models') > > > > File > > "C:\Users\ddesantis\AppData\Local\Continuum\Anaconda2\lib\site-packages\spyderlib\widgets\externalshell\sitecustomize.py", > > line 699, in runfile > > execfile(filename, namespace) > > > > File > > "C:\Users\ddesantis\AppData\Local\Continuum\Anaconda2\lib\site-packages\spyderlib\widgets\externalshell\sitecustomize.py", > > line 74, in execfile > > exec(compile(scripttext, filename, 'exec'), glob, loc) > > > > File "C:/Users/ddesantis/Dropbox/PythonScripts/CFD > > Models/ConversionModel.py", line 107, in <module> > > res = Eq.sweep(dt=dt, solver=solver) > > > > File > > "C:\Users\ddesantis\AppData\Local\Continuum\Anaconda2\lib\site-packages\fipy\terms\term.py", > > line 236, in sweep > > solver = self._prepareLinearSystem(var=var, solver=solver, > > boundaryConditions=boundaryConditions, dt=dt) > > > > File > > "C:\Users\ddesantis\AppData\Local\Continuum\Anaconda2\lib\site-packages\fipy\terms\term.py", > > line 170, in _prepareLinearSystem > > buildExplicitIfOther=self._buildExplcitIfOther) > > > > File > > "C:\Users\ddesantis\AppData\Local\Continuum\Anaconda2\lib\site-packages\fipy\terms\coupledBinaryTerm.py", > > line 122, in _buildAndAddMatrices > > buildExplicitIfOther=buildExplicitIfOther) > > > > File > > "C:\Users\ddesantis\AppData\Local\Continuum\Anaconda2\lib\site-packages\fipy\terms\binaryTerm.py", > > line 68, in _buildAndAddMatrices > > buildExplicitIfOther=buildExplicitIfOther) > > > > File > > "C:\Users\ddesantis\AppData\Local\Continuum\Anaconda2\lib\site-packages\fipy\terms\binaryTerm.py", > > line 68, in _buildAndAddMatrices > > buildExplicitIfOther=buildExplicitIfOther) > > > > File > > "C:\Users\ddesantis\AppData\Local\Continuum\Anaconda2\lib\site-packages\fipy\terms\binaryTerm.py", > > line 68, in _buildAndAddMatrices > > buildExplicitIfOther=buildExplicitIfOther) > > > > File > > "C:\Users\ddesantis\AppData\Local\Continuum\Anaconda2\lib\site-packages\fipy\terms\unaryTerm.py", > > line 99, in _buildAndAddMatrices > > diffusionGeomCoeff=diffusionGeomCoeff) > > > > File > > "C:\Users\ddesantis\AppData\Local\Continuum\Anaconda2\lib\site-packages\fipy\terms\abstractConvectionTerm.py", > > line 211, in _buildMatrix > > self.constraintB = -((1 - alpha) * var.arithmeticFaceValue * > > constraintMask * exteriorCoeff).divergence * mesh.cellVolumes > > > > File > > "C:\Users\ddesantis\AppData\Local\Continuum\Anaconda2\lib\site-packages\fipy\variables\variable.py", > > line 1151, in __mul__ > > return self._BinaryOperatorVariable(lambda a,b: a*b, other) > > > > File > > "C:\Users\ddesantis\AppData\Local\Continuum\Anaconda2\lib\site-packages\fipy\variables\variable.py", > > line 1116, in _BinaryOperatorVariable > > if not v.unit.isDimensionless() or len(v.shape) > 3: > > > > File > > "C:\Users\ddesantis\AppData\Local\Continuum\Anaconda2\lib\site-packages\fipy\variables\variable.py", > > line 255, in _getUnit > > return self._extractUnit(self.value) > > > > File > > "C:\Users\ddesantis\AppData\Local\Continuum\Anaconda2\lib\site-packages\fipy\variables\variable.py", > > line 561, in _getValue > > value[..., mask] = numerix.array(constraint.value)[..., mask] > > > > IndexError: index 100 is out of bounds for axis 0 with size 100 > > > > _______________________________________________ > > fipy mailing list > > fipy@nist.gov > > http://www.ctcms.nist.gov/fipy > > [ NIST internal ONLY: https://email.nist.gov/mailman/listinfo/fipy] > > > > > > -- > Daniel Wheeler > _______________________________________________ > fipy mailing list > fipy@nist.gov > http://www.ctcms.nist.gov/fipy > [ NIST internal ONLY: https://email.nist.gov/mailman/listinfo/fipy ] > > > > -- > Daniel DeSantis > > > _______________________________________________ > fipy mailing list > fipy@nist.gov > http://www.ctcms.nist.gov/fipy > [ NIST internal ONLY: https://email.nist.gov/mailman/listinfo/fipy ] _______________________________________________ fipy mailing list fipy@nist.gov http://www.ctcms.nist.gov/fipy [ NIST internal ONLY: https://email.nist.gov/mailman/listinfo/fipy ]