esys.modellib.materials Package¶
Classes¶
- class esys.modellib.materials.GravityForce(**kwargs)¶
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
- gravity_force()¶
return the gravity force as
density
*gravity
*direction
- class esys.modellib.materials.MaterialTable(**kwargs)¶
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.
- class esys.modellib.materials.Model(parameters=[], **kwargs)¶
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¶
- 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.
- getSafeTimeStepSize(dt)¶
Returns a time step size which can be safely used.
dt
gives the previously used step size.This function may be overwritten.
- setUp()¶
Sets up the model.
This function may be overwritten.
- 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.
- class esys.modellib.materials.ParameterSet(parameters=[], **kwargs)¶
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)¶
- releaseParameters(name)¶
Removes parameter name from the parameters.
- showParameters()¶
Returns a description of the parameters.
- toDom(esysxml, node)¶
toDom
method of Model class.
- 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)¶
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.
- density()¶
- viscosity()¶
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