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 ]

Reply via email to