thegooglecodearchive / sfepy

Automatically exported from code.google.com/p/sfepy
0 stars 0 forks source link

evalTerm() and BC handling #29

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
ProblemDefinition.timeUpdate() works only if equations are set.

This is a problem as currently timeUpdate() must be called prior to calling
evalTerm() (or evalTermOP()), as it expects the BC are already set.

Thus instead of just:
    problem.timeUpdate()
    mtxAF = evalTermOP( dummyF, mtxTerm, problem,
                        dwMode = 'matrix', tangentMatrix = problem.mtxA )
one must do:
    problem.setEquations( {'eq': mtxTerm} )
    problem.timeUpdate()
    mtxAF = evalTermOP( dummyF, mtxTerm, problem,
                        dwMode = 'matrix', tangentMatrix = problem.mtxA )

solution:

either: call BC updating code in evalTerm() after the term equation is set

or (better but more difficult): decouple Equations.describeGeometry and
Variables.setupDofConns() - actually the latter is only needed to update the BC

need to think also of some mechanism in evalTerm() of how to control what
has been already computed and what has not, so that it is not unnecessarily
slow. For example, the equations _are_ actually already set and thus the
Variables.setupDofConns() call is not necessary.

Original issue reported on code.google.com by robert.c...@gmail.com on 28 Feb 2008 at 9:59

GoogleCodeExporter commented 9 years ago
See http://hg.sympy.org/sfepy/rev/6d896c1bfad3 for a partial solution.

Original comment by robert.c...@gmail.com on 5 Dec 2008 at 1:15

GoogleCodeExporter commented 9 years ago
The whole problem definition building is going to change...

Original comment by robert.c...@gmail.com on 1 Apr 2010 at 10:05

GoogleCodeExporter commented 9 years ago
Migrated to http://github.com/sfepy/sfepy/issues/33

Original comment by robert.c...@gmail.com on 30 Jan 2012 at 10:24