Metafor

ULiege - Aerospace & Mechanical Engineering

User Tools

Site Tools


doc:user:general:fonctions

This is an old revision of the document!




Functions

Functions are quite useful to describe how some parameters evolve, over time for example. They can be used to set displacements or to define hardening laws.

PieceWiseLinearFunction

A piecewise linear function is defined one point at a time:

  fct = PieceWiseLinearFunction()
  fct.setData(abs1, ord1)
  fct.setData(abs2, ord2)
  ...

where

abs1, abs2, … list of abscissae
ord1, ord2, … list of ordinates

Piecewise linear function

Remark: As can be seen above, the first and last segments are extrapolated if a value of the function is required outside its domain.

PythonOneParameterFunction

If a function is mathematically too complex to be defined with a PieceWiseLinearFunction, it can be defined analytically, with the function PythonOneParameterFunction.

The goal is to give as argument a Python function as OneParameterFunction.

For example, this is used to:

Examples

The ramp function:

  fct1 = PieceWiseLinearFunction()
  fct1.setdata(0,0)
  fct1.setdata(1,1)

can be also defined with a classical python function:

  def f(x):
      return x
  fct1 = PythonOneParameterFunction(f)

or, using python lambda function:

  f = lambda x: x
  fct1 = PythonOneParameterFunction(f)

Advanced use

Advanced The value can also be displayed for each estimation, and a more complex function can also be defined using all Python tools. For example, a load function can be first defined with a parabola, then with a straight line, the change between these two being controlled by an conditional structure.

  def f(a):
      val=0
      if(a‹0.5):
           val=a*a
      else:
           x=0.5*0.5;
           val=x+(a-0.5)/(1-0.5)*(1-x)
      print 'value=', val
      return val	
  fct1 = PythonOneParameterFunction(f)
doc/user/general/fonctions.1420638768.txt.gz · Last modified: 2016/03/30 15:22 (external edit)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki