Source code for festim.temperature.temperature_from_xdmf

from festim.temperature.temperature import Temperature
from festim.helpers import extract_xdmf_labels
import fenics as f


[docs] class TemperatureFromXDMF(Temperature): """ Temperature read from an XDMF file Args: filename (str): The temperature file. Must end in ".xdmf" label (str): How the checkpoints have been labelled Attributes: filename (str): name of the temperature file label (str): How the checkpoints have been labelled """ def __init__(self, filename, label) -> None: super().__init__() self.filename = filename self.label = label # check labels match if self.label not in extract_xdmf_labels(self.filename): raise ValueError( "Coudln't find label: {} in {}".format(self.label, self.filename) )
[docs] def create_functions(self, mesh): """Creates functions self.T, self.T_n Args: mesh (festim.Mesh): the mesh """ V = f.FunctionSpace(mesh.mesh, "CG", 1) self.T = f.Function(V, name="T") f.XDMFFile(self.filename).read_checkpoint(self.T, self.label, -1) self.T_n = f.Function(V, name="T_n") self.T_n.assign(self.T)
[docs] def update(self, t): """Allows for the use of this class in transient h transport cases, refer to issue #499 """ pass
def is_steady_state(self): # TemperatureFromXDMF is always steady state return True