Dear fipy users and developers !

I'm solving with fipy3.0 a 2 components non-linear diffusive problem.

Her'es my problem:
The initialization step (i.e. before the time time integration loop, see
below) is quite slow  (about 1 min on my laptop, 2.4GHz, 3Go RAM) with
respect to the integration process.  Using pycallgraph, it looks like most
time is spent within a fipy function:
fipy.variables.binaryOperatorVariable.binOp.unit

Am I misusing fipy objects ? Could any one advise or has seen this behavior
before?  I can send you the plot returned by pycallgraph, send the code or
give you any other useful information.

Thanks a lot for your help !

Bruno Huet, a  fipy fan !



The code main structure:

pycallgraph.start_trace()

# initlaization
C1 = Cellvariable(...)
C2 = Cellvariable(...)

diff_11 = f_11(C1, C2)
diff_12 = f_12(C1, C2)
diff_21 = f_21(C1, C2)
diff_22 = f_22(C1, C2)

eq1 = TransientTerm(C1) == DiffusionTerm(diff_11 , var=C1)+
DiffusionTerm(diff_12 , var=C2)
eq2 = TransientTerm(C2) == DiffusionTerm(diff_21 , var=C1)+
DiffusionTerm(diff_22 , var=C2)
eq = eq1 & eq2

pycallgraph.make_dot_graph('result.png')

# integration:
while (myTime < maxTime):
        etc
_______________________________________________
fipy mailing list
[email protected]
http://www.ctcms.nist.gov/fipy
  [ NIST internal ONLY: https://email.nist.gov/mailman/listinfo/fipy ]

Reply via email to