esys.modellib.materials Package

Classes

class esys.modellib.materials.GravityForce(**kwargs)

Bases: esys.escriptcore.modelframe.ParameterSet

Sets a gravity force of given direction in given domain:

Note:Instance variable domain - domain of interest (in).
Note:Instance variable domain - esys.escript.Domain
Note:Instance variable density - density, default 1 (in).
Note:Instance variable gravity - the gravity constant, default 9.81 (in).
Note:Instance variable direction - the direction of gravity, default [1.,0.,0.] (in).
__init__(**kwargs)

initializes the set

checkLinkTargets(models, hash)

Returns a set of tuples (“<self>(<name>)”, <target model>) if the parameter <name> is linked to model <target model> but <target model> is not in the list of models. If a parameter is linked to another parameter set which is not in the hash list the parameter set is checked for its models. hash gives the call history.

declareParameter(**parameters)

Declares one or more new parameters and their initial value.

declareParameters(parameters)

Declares a set of parameters. parameters can be a list, a dictionary or a ParameterSet.

classmethod fromDom(esysxml, node)
getAttributeObject(name)

Returns the object stored for attribute name.

gravity_force()

return the gravity force as density * gravity * direction

hasAttribute(name)

Returns True if self has attribute name.

releaseParameters(name)

Removes parameter name from the parameters.

showParameters()

Returns a description of the parameters.

toDom(esysxml, node)

toDom method of Model class.

trace(msg)

If debugging is on, prints the message, otherwise does nothing.

writeXML(ostream=<_io.TextIOWrapper name='<stdout>' mode='w' encoding='UTF-8'>)

Writes the object as an XML object into an output stream.

class esys.modellib.materials.MaterialTable(**kwargs)

Bases: esys.escriptcore.modelframe.ParameterSet

A simple matrial table which allows setting physical ivar of a model

Variables:
  • density – density(in/out)
  • heat_capacity – heat_capacity(in/out)
  • thermal_permabilty – permabilty(in/out)
  • viscosity – viscosity(in/out)
  • radiation_coefficient – (in/out)
__init__(**kwargs)

Creates a ParameterSet with given parameters.

checkLinkTargets(models, hash)

Returns a set of tuples (“<self>(<name>)”, <target model>) if the parameter <name> is linked to model <target model> but <target model> is not in the list of models. If a parameter is linked to another parameter set which is not in the hash list the parameter set is checked for its models. hash gives the call history.

declareParameter(**parameters)

Declares one or more new parameters and their initial value.

declareParameters(parameters)

Declares a set of parameters. parameters can be a list, a dictionary or a ParameterSet.

classmethod fromDom(esysxml, node)
getAttributeObject(name)

Returns the object stored for attribute name.

hasAttribute(name)

Returns True if self has attribute name.

releaseParameters(name)

Removes parameter name from the parameters.

showParameters()

Returns a description of the parameters.

toDom(esysxml, node)

toDom method of Model class.

trace(msg)

If debugging is on, prints the message, otherwise does nothing.

writeXML(ostream=<_io.TextIOWrapper name='<stdout>' mode='w' encoding='UTF-8'>)

Writes the object as an XML object into an output stream.

class esys.modellib.materials.Model(parameters=[], **kwargs)

Bases: esys.escriptcore.modelframe.ParameterSet

A Model object represents a process marching over time until a finalizing condition is fulfilled. At each time step an iterative process can be performed and the time step size can be controlled. A Model has the following work flow:

doInitialization()
while not terminateInitialIteration(): doInitialStep()
doInitialPostprocessing()
while not finalize():
    dt=getSafeTimeStepSize(dt)
    doStepPreprocessing(dt)
    while not terminateIteration(): doStep(dt)
    doStepPostprocessing(dt)
doFinalization()

where doInitialization, finalize, getSafeTimeStepSize, doStepPreprocessing, terminateIteration, doStepPostprocessing, doFinalization are methods of the particular instance of a Model. The default implementations of these methods have to be overwritten by the subclass implementing a Model.

__init__(parameters=[], **kwargs)

Creates a model.

Just calls the parent constructor.

UNDEF_DT = 1e+300
checkLinkTargets(models, hash)

Returns a set of tuples (“<self>(<name>)”, <target model>) if the parameter <name> is linked to model <target model> but <target model> is not in the list of models. If a parameter is linked to another parameter set which is not in the hash list the parameter set is checked for its models. hash gives the call history.

declareParameter(**parameters)

Declares one or more new parameters and their initial value.

declareParameters(parameters)

Declares a set of parameters. parameters can be a list, a dictionary or a ParameterSet.

doFinalization()

Finalizes the time stepping.

This function may be overwritten.

doInitialPostprocessing()

Finalises the initialization iteration process. This method is not called in case of a restart.

This function may be overwritten.

doInitialStep()

Performs an iteration step in the initialization phase. This method is not called in case of a restart.

This function may be overwritten.

doInitialization()

Initializes the time stepping scheme. This method is not called in case of a restart.

This function may be overwritten.

doStep(dt)

Executes an iteration step at a time step.

dt is the currently used time step size.

This function may be overwritten.

doStepPostprocessing(dt)

Finalises the time step.

dt is the currently used time step size.

This function may be overwritten.

doStepPreprocessing(dt)

Sets up a time step of step size dt.

This function may be overwritten.

finalize()

Returns False if the time stepping is finalized.

This function may be overwritten.

classmethod fromDom(esysxml, node)
getAttributeObject(name)

Returns the object stored for attribute name.

getSafeTimeStepSize(dt)

Returns a time step size which can be safely used.

dt gives the previously used step size.

This function may be overwritten.

hasAttribute(name)

Returns True if self has attribute name.

releaseParameters(name)

Removes parameter name from the parameters.

setUp()

Sets up the model.

This function may be overwritten.

showParameters()

Returns a description of the parameters.

terminateInitialIteration()

Returns True if iteration at the inital phase is terminated.

terminateIteration()

Returns True if iteration on a time step is terminated.

toDom(esysxml, node)

toDom method of Model class.

trace(msg)

If debugging is on, prints the message, otherwise does nothing.

writeXML(ostream=<_io.TextIOWrapper name='<stdout>' mode='w' encoding='UTF-8'>)

Writes the object as an XML object into an output stream.

class esys.modellib.materials.ParameterSet(parameters=[], **kwargs)

Bases: esys.escriptcore.modelframe.LinkableObject

A class which allows to emphasize attributes to be written and read to XML.

Leaves of an ESySParameters object can be:

  • a real number
  • an integer number
  • a string
  • a boolean value
  • a ParameterSet object
  • a Simulation object
  • a Model object
  • a numpy object
  • a list of booleans
  • any other object (not considered by writeESySXML and writeXML)

Example for how to create an ESySParameters object:

p11=ParameterSet(gamma1=1.,gamma2=2.,gamma3=3.)
p1=ParameterSet(dim=2,tol_v=0.001,output_file="/tmp/u.%3.3d.dx",runFlag=True,parm11=p11)
parm=ParameterSet(parm1=p1,parm2=ParameterSet(alpha=Link(p11,"gamma1")))

This can be accessed as:

parm.parm1.gamma=0.
parm.parm1.dim=2
parm.parm1.tol_v=0.001
parm.parm1.output_file="/tmp/u.%3.3d.dx"
parm.parm1.runFlag=True
parm.parm1.parm11.gamma1=1.
parm.parm1.parm11.gamma2=2.
parm.parm1.parm11.gamma3=3.
parm.parm2.alpha=1. (value of parm.parm1.parm11.gamma1)
__init__(parameters=[], **kwargs)

Creates a ParameterSet with given parameters.

checkLinkTargets(models, hash)

Returns a set of tuples (“<self>(<name>)”, <target model>) if the parameter <name> is linked to model <target model> but <target model> is not in the list of models. If a parameter is linked to another parameter set which is not in the hash list the parameter set is checked for its models. hash gives the call history.

declareParameter(**parameters)

Declares one or more new parameters and their initial value.

declareParameters(parameters)

Declares a set of parameters. parameters can be a list, a dictionary or a ParameterSet.

classmethod fromDom(esysxml, node)
getAttributeObject(name)

Returns the object stored for attribute name.

hasAttribute(name)

Returns True if self has attribute name.

releaseParameters(name)

Removes parameter name from the parameters.

showParameters()

Returns a description of the parameters.

toDom(esysxml, node)

toDom method of Model class.

trace(msg)

If debugging is on, prints the message, otherwise does nothing.

writeXML(ostream=<_io.TextIOWrapper name='<stdout>' mode='w' encoding='UTF-8'>)

Writes the object as an XML object into an output stream.

class esys.modellib.materials.SimpleEarthModel(**kwargs)

Bases: esys.escriptcore.modelframe.ParameterSet

A simple matrial table run convection models:

density=density0*(1-expansion_coefficient*(temperature-reference_temperature))
viscocity=viscocity0*(exp(alpha*(1/reference_temperature - 1/temperature))
Variables:
  • gravity – gravity constants (9.81) (in)
  • reference_temperature – reference temperature (in)
  • density0 – density at reference temperature (in)
  • viscosity0 – viscosity0 at reference temperature (in)
  • alpha – viscosity contrast (in)
  • expansion_coefficient – Raleigh number (in)
  • heat_capacity – heat capacity (in)
  • thermal_permabilty – permabilty (in)
  • temperature – temperature (in)
  • viscosity – viscosity (out)
  • density – density (out)
__init__(**kwargs)

Creates a ParameterSet with given parameters.

checkLinkTargets(models, hash)

Returns a set of tuples (“<self>(<name>)”, <target model>) if the parameter <name> is linked to model <target model> but <target model> is not in the list of models. If a parameter is linked to another parameter set which is not in the hash list the parameter set is checked for its models. hash gives the call history.

declareParameter(**parameters)

Declares one or more new parameters and their initial value.

declareParameters(parameters)

Declares a set of parameters. parameters can be a list, a dictionary or a ParameterSet.

density()
classmethod fromDom(esysxml, node)
getAttributeObject(name)

Returns the object stored for attribute name.

hasAttribute(name)

Returns True if self has attribute name.

releaseParameters(name)

Removes parameter name from the parameters.

showParameters()

Returns a description of the parameters.

toDom(esysxml, node)

toDom method of Model class.

trace(msg)

If debugging is on, prints the message, otherwise does nothing.

viscosity()
writeXML(ostream=<_io.TextIOWrapper name='<stdout>' mode='w' encoding='UTF-8'>)

Writes the object as an XML object into an output stream.

class esys.modellib.materials.SimpleFluidMaterial(**kwargs)

Bases: esys.modellib.materials.MaterialTable

A simple matrial table which allows setting physical ivar of a model.

__init__(**kwargs)

Creates a ParameterSet with given parameters.

checkLinkTargets(models, hash)

Returns a set of tuples (“<self>(<name>)”, <target model>) if the parameter <name> is linked to model <target model> but <target model> is not in the list of models. If a parameter is linked to another parameter set which is not in the hash list the parameter set is checked for its models. hash gives the call history.

declareParameter(**parameters)

Declares one or more new parameters and their initial value.

declareParameters(parameters)

Declares a set of parameters. parameters can be a list, a dictionary or a ParameterSet.

classmethod fromDom(esysxml, node)
getAttributeObject(name)

Returns the object stored for attribute name.

hasAttribute(name)

Returns True if self has attribute name.

releaseParameters(name)

Removes parameter name from the parameters.

showParameters()

Returns a description of the parameters.

toDom(esysxml, node)

toDom method of Model class.

trace(msg)

If debugging is on, prints the message, otherwise does nothing.

writeXML(ostream=<_io.TextIOWrapper name='<stdout>' mode='w' encoding='UTF-8'>)

Writes the object as an XML object into an output stream.

class esys.modellib.materials.SimpleSolidMaterial(**kwargs)

Bases: esys.modellib.materials.MaterialTable

A simple matrial table which allows setting physical parameters of a model.

__init__(**kwargs)

Creates a ParameterSet with given parameters.

checkLinkTargets(models, hash)

Returns a set of tuples (“<self>(<name>)”, <target model>) if the parameter <name> is linked to model <target model> but <target model> is not in the list of models. If a parameter is linked to another parameter set which is not in the hash list the parameter set is checked for its models. hash gives the call history.

declareParameter(**parameters)

Declares one or more new parameters and their initial value.

declareParameters(parameters)

Declares a set of parameters. parameters can be a list, a dictionary or a ParameterSet.

classmethod fromDom(esysxml, node)
getAttributeObject(name)

Returns the object stored for attribute name.

hasAttribute(name)

Returns True if self has attribute name.

releaseParameters(name)

Removes parameter name from the parameters.

showParameters()

Returns a description of the parameters.

toDom(esysxml, node)

toDom method of Model class.

trace(msg)

If debugging is on, prints the message, otherwise does nothing.

writeXML(ostream=<_io.TextIOWrapper name='<stdout>' mode='w' encoding='UTF-8'>)

Writes the object as an XML object into an output stream.

Functions

esys.modellib.materials.exp(arg)

Returns e to the power of argument arg.

Parameters:arg (float, escript.Data, Symbol, numpy.ndarray.) – argument
Return type:float, escript.Data, Symbol, numpy.ndarray depending on the type of arg
Raises:TypeError – if the type of the argument is not expected

Others

Packages