Source code for dolfin.function.constant

# -*- coding: utf-8 -*-
# Copyright (C) 2019 Michal Habera and Chris Richardson
#
# This file is part of DOLFIN (https://www.fenicsproject.org)
#
# SPDX-License-Identifier:    LGPL-3.0-or-later

from typing import Sequence, Union

import numpy

import dolfin.cpp
import ufl


[docs]class Constant(ufl.Constant): def __init__(self, domain, c: Union[numpy.ndarray, Sequence, float]): """A constant with respect to a domain. Parameters ---------- domain : DOLFIN or UFL mesh c Value of the constant. """ c_np = numpy.asarray(c) super().__init__(domain, c_np.shape) self._cpp_object = dolfin.cpp.function.Constant(c_np.shape, c_np.flatten()) @property def value(self): """Returns value of the constant.""" return self._cpp_object.value() @value.setter def value(self, v): numpy.copyto(self._cpp_object.value(), numpy.asarray(v))