Thanks to show me how to use characteristic function as a source. But I
still have a problem.
I am solving these equations
1)eqp=ImplicitDiffusionTerm(coeff=1)==source1, where source1=q1s+q2s
2)eqphi=TransientTerm(coeff=2)==source2  where source2=q1s-q2s
where:

qin=40*((phi>=.1)and(phi<=.3))+20*((phi>=.7)and(phi<=.9))
qout=60*((phi>=.4)and(phi<=.6))
sin=.8
q1s=sin*qin+s*qout
q2s=(1-sin)*qin+(1-phi)*qout

when I run the I program I have the following error:

Evaluating diphabis.py
Traceback (most recent call last):
  File "<string>", line 1, in <string>
AttributeError: 'bool' object has no attribute 'solve'

I don't understand this error, could any one have an idea? see my code
below.

Regards,

Franck

*********************************************************************************************************************************************************************************************
nx=400
dx=L/nx
timeStepDuration=0.012
from fipy.meshes.grid1D import Grid1D
mesh=Grid1D(dx=dx, nx=nx)
from fipy.variables.cellVariable import CellVariable
phi=CellVariable(name="saturation", mesh=mesh)
p=CellVariable(name="pressure",mesh=mesh)
x=mesh.getCellCenters()[...,0]
phi.setValue(.9, where=x<.5)
phi.setValue(.3, where=x>=.5)
p.setValue(1.)
#pcs=0

#built sources
qin=40*((phi>=.1)and(phi<=.3))+20*((phi>=.7)and(phi<=.9))
qout=60*((phi>=.4)and(phi<=.6))
sin=.8
#pin=0
q1s=sin*qin+s*qout
q2s=(1-sin)*qin+(1-phi)*qout


from fipy.terms.transientTerm import TransientTerm
from fipy.terms.implicitSourceTerm import ImplicitSourceTerm
from fipy.terms.implicitDiffusionTerm import ImplicitDiffusionTerm

eqp=ImplicitDiffusionTerm(coeff=1)==q1s+q2s
eqs=TransientTerm(coeff=2)==q1s-q2s


steps=50
for i in range(steps):
    eqp.solve(p,dt=timeStepDuration)
    eqphi.solve(phi,dt=timeStepDuration)
    if __name__ =='__main__':
        phiviewer=fipy.viewers.make(vars=(phi), limits={'datamin':0.,
'datamax':1.})
        pviewer=fipy.viewers.make(vars=(p), limits={'datamin':0.,
'datamax':1.})
        phiviewer.plot()
        pviewer.plot()
**********************************************************************************************************************************************************************************************
2008/8/18 Jonathan Guyer <[EMAIL PROTECTED]>

>
>
> On Aug 18, 2008, at 2:57 PM, franck kalala wrote:
>
>  my source term for the above problem looks like
>>
>> source=q(phi)=40*chi[0.1,.03](phi)+20*chi[0.7,0.9](phi)
>> where chi is the characteristic function of [0.1,0.3] which is 1 if phi
>> belongs to [0.1,0.3] and 0 otherwise.
>> how do I set such a function in fipy?
>>
>
> (phi >= 0.7) & (phi <= 0.9)
>
>
>


-- 
***********************************************
***********************************************
Franck Kalala Mutombo
[EMAIL PROTECTED]
African Institut for Mathematical Sciences, Muizenberg Cape Town, South
Africa
[EMAIL PROTECTED]
************************************************
************************************************

Reply via email to