Classes

class  BaseTask
 
class  Check
 
class  Machine
 
class  Prepare
 
class  Results
 
class  Solve
 

Functions

def getMachine (solver, path=None)
 
def run_fem_solver (solver, working_dir=None)
 

Variables

 CHECK
 
 DONE
 
 PREPARE
 
 RESULTS
 
 SOLVE
 

Function Documentation

◆ getMachine()

def femsolver.run.getMachine (   solver,
  path = None 
)
Get or create :class:`Machine` using caching mechanism. :param solver: A document object which must be a framework compliant solver. This means that it should be derived from the document object provided by :mod:`femsolver.solverbase` and implement all required methods correctly. Of particular importance is :meth:`getMachine <femsolver.solverbase.Proxy.getMachine>` as it is used by this method to create a new :class:`Machine` on cache miss. :param path: A valid filesystem path which shall be associetad with the machine.

Referenced by femsolver.run.run_fem_solver(), and femsolver.solver_taskpanel.ControlTaskPanel.updateMachine().

◆ run_fem_solver()

def femsolver.run.run_fem_solver (   solver,
  working_dir = None 
)
Execute *solver* of the solver framework. Uses :meth:`getMachine <femsolver.solverbase.Proxy.getMachine>` to obtain a :class:`Machine` instance of the solver. It than executes the Machine with using the ``RESULTS`` target (see :class:`Machine` for infos about different targets). This method is blocking, it waits for the solver to finished before returning. Be aware of :class:`Machine` caching when using the function. :param solver: A document object which must be a framework compliant solver. This means that it should be derived from the document object provided by :mod:`femsolver.solverbase` and implement all required methods correctly. Of particular importance is :meth:`getMachine <femsolver.solverbase.Proxy.getMachine>` as it is used by this method the get the :class:`Machine` used to execute the solver. :param working_dir: If specified it overwrites the automatic and user configurable working directory management of the Solver framework. Should always be a absolute path because the location of the binary is not consistent among platforms. If ``None`` the automatic working directory management is used. :note: There is some legacy code to execute the old Calculix solver (pre-framework) which behaives differently because it doesn't use a :class:`Machine`.

References femsolver.report.display(), femsolver.report.displayLog(), and femsolver.run.getMachine().

Variable Documentation

◆ CHECK

femsolver.run.CHECK

◆ DONE

femsolver.run.DONE

◆ PREPARE

femsolver.run.PREPARE

◆ RESULTS

femsolver.run.RESULTS

◆ SOLVE

femsolver.run.SOLVE