thermal.dynamic.
Dynamic3D
(name="")¶Finite element thermal solver for 3D Cartesian geometry.
compute (time) 
Run thermal calculations 
initialize () 
Initialize solver. 
invalidate () 
Set the solver back to uninitialized state. 
outHeatFlux 
Provider of the computed heat flux [W/m²]. 
outTemperature 
Provider of the computed temperature [K]. 
outThermalConductivity 
Provider of the computed thermal conductivity [W/(m×K)]. 
algorithm 
Chosen matrix factorization algorithm 
elapsed_time 
Alias for time (obsolete). 
geometry 
Geometry provided to the solver 
id 
Id of the solver object. 
initialized 
True if the solver has been initialized. 
inittemp 
Initial temperature [K] 
logfreq 
Frequency of iteration progress reporting 
lumping 
Chosen mass matrix type from lumped or nonlumped (consistent) 
mesh 
Mesh provided to the solver 
methodparam 
Initial parameter determining the calculation method – 0.5  CrankNicolson method, 0  explicit method, 1  implicit method 
rebuildfreq 
Frequency of rebuild mass 
temperature_boundary 
Boundary conditions for the constant temperature 
time 
Time of calculations performed so far since the last solver invalidation. 
timestep 
Time step [ns] 
Dynamic3D.
compute
(time)¶Run thermal calculations
Dynamic3D.
initialize
()¶Initialize solver.
This method manually initialized the solver and sets initialized
to
True. Normally calling it is not necessary, as each solver automatically
initializes itself when needed.
Returns:  solver initialized state prior to this method call. 

Return type:  bool 
Dynamic3D.
invalidate
()¶Set the solver back to uninitialized state.
This method frees the memory allocated by the solver and sets
initialized
to False.
Dynamic3D.
inHeat
¶Receiver of the heat sources density required for computations [W/m³].
You will find usage details in the documentation of the receiver class
HeatReceiver3D
.
Example
Connect the reveiver to a provider from some other solver:
>>> solver.inHeat = other_solver.outHeat
See also
Receciver class: plask.flow.HeatReceiver3D
Provider class: plask.flow.HeatProvider3D
Data filter: plask.filter.HeatFilter3D
Dynamic3D.
outHeatFlux
(mesh, interpolation='default')¶Provider of the computed heat flux [W/m²].
Parameters: 


Returns:  Data with the heat flux on the specified mesh [W/m²]. 
Example
Connect the provider to a receiver in some other solver:
>>> other_solver.inHeatFlux = solver.outHeatFlux
Obtain the provided field:
>>> solver.outHeatFlux(mesh)
<plask.Data at 0x1234567>
See also
Provider class: plask.flow.HeatFluxProvider3D
Receciver class: plask.flow.HeatFluxReceiver3D
Dynamic3D.
outTemperature
(mesh, interpolation='default')¶Provider of the computed temperature [K].
Parameters: 


Returns:  Data with the temperature on the specified mesh [K]. 
Example
Connect the provider to a receiver in some other solver:
>>> other_solver.inTemperature = solver.outTemperature
Obtain the provided field:
>>> solver.outTemperature(mesh)
<plask.Data at 0x1234567>
See also
Provider class: plask.flow.TemperatureProvider3D
Receciver class: plask.flow.TemperatureReceiver3D
Dynamic3D.
outThermalConductivity
(mesh, interpolation='default')¶Provider of the computed thermal conductivity [W/(m×K)].
Parameters: 


Returns:  Data with the thermal conductivity on the specified mesh [W/(m×K)]. 
Example
Connect the provider to a receiver in some other solver:
>>> other_solver.inThermalConductivity = solver.outThermalConductivity
Obtain the provided field:
>>> solver.outThermalConductivity(mesh)
<plask.Data at 0x1234567>
See also
Provider class: plask.flow.ThermalConductivityProvider3D
Receciver class: plask.flow.ThermalConductivityReceiver3D
Dynamic3D.
algorithm
¶Chosen matrix factorization algorithm
Dynamic3D.
geometry
¶Geometry provided to the solver
Dynamic3D.
id
¶Id of the solver object. (read only)
Example
>>> mysolver.id
mysolver:category.type
Dynamic3D.
initialized
¶True if the solver has been initialized. (read only)
Solvers usually get initialized at the beginning of the computations.
You can clean the initialization state and free the memory by calling
the invalidate()
method.
Dynamic3D.
inittemp
¶Initial temperature [K]
Dynamic3D.
logfreq
¶Frequency of iteration progress reporting
Dynamic3D.
lumping
¶Chosen mass matrix type from lumped or nonlumped (consistent)
Dynamic3D.
mesh
¶Mesh provided to the solver
Dynamic3D.
methodparam
¶Initial parameter determining the calculation method – 0.5  CrankNicolson method, 0  explicit method, 1  implicit method
Dynamic3D.
rebuildfreq
¶Frequency of rebuild mass
Dynamic3D.
temperature_boundary
¶Boundary conditions for the constant temperature
This field holds a list of boundary conditions for the solver. You may access and alter is elements a normal Python list. Each element is a special class that has two attributes:
place 
Boundary condition location (plask.mesh.RectangularBase3D.Boundary ). 
value 
Boundary condition value. 
When you add new boundary condition, you may use twoargument append
, or
prepend
methods, or threeargument insert
method, where you separately
specify the place and the value. See the below example for clarification.
Example
>>> solver.temperature_boundary.clear()
>>> solver.temperature_boundary.append(solver.mesh.Bottom(), some_value)
>>> solver.temperature_boundary[0].value = different_value
>>> solver.temperature_boundary.insert(0, solver.mesh.Top(), new_value)
>>> solver.temperature_boundary[1].value == different_value
True
Dynamic3D.
time
¶Time of calculations performed so far since the last solver invalidation.
Dynamic3D.
timestep
¶Time step [ns]