//----------------------------------------------------------------------------- Function::Function(const FunctionSpace& V, std::string filename) : Hierarchical<Function>(*this), _function_space(reference_to_no_delete_pointer(V)), _allow_extrapolation(dolfin::parameters["allow_extrapolation"]) { // Check that we don't have a subspace if (!V.component().empty()) { dolfin_error("Function.cpp", "create function", "Cannot be created from subspace. Consider collapsing the function space"); } // Initialize vector init_vector(); // Check size of vector if (_vector->size() != _function_space->dim()) { dolfin_error("Function.cpp", "read function from file", "The number of degrees of freedom (%d) does not match dimension of function space (%d)", _vector->size(), _function_space->dim()); } // Read function data from file File file(filename); file >> *this; }
//----------------------------------------------------------------------------- Function::Function(const FunctionSpace& V) : Hierarchical<Function>(*this), _function_space(reference_to_no_delete_pointer(V)), _allow_extrapolation(dolfin::parameters["allow_extrapolation"]) { // Check that we don't have a subspace if (!V.component().empty()) { dolfin_error("Function.cpp", "create function", "Cannot be created from subspace. Consider collapsing the function space"); } // Initialize vector init_vector(); }