// Copyright (c) 2010-2020, Lawrence Livermore National Security, LLC. Produced // at the Lawrence Livermore National Laboratory. All Rights reserved. See files // LICENSE and NOTICE for details. LLNL-CODE-806117. // // This file is part of the MFEM library. For more information and source code // availability visit https://mfem.org. // // MFEM is free software; you can redistribute it and/or modify it under the // terms of the BSD-3 license. We welcome feedback and contributions, see file // CONTRIBUTING.md for details. #include "../config/config.hpp" #ifdef MFEM_USE_MPI #include "fem.hpp" namespace mfem { void ParLinearForm::Update(ParFiniteElementSpace *pf) { if (pf) { pfes = pf; } LinearForm::Update(pfes); } void ParLinearForm::Update(ParFiniteElementSpace *pf, Vector &v, int v_offset) { pfes = pf; LinearForm::Update(pf,v,v_offset); } void ParLinearForm::ParallelAssemble(Vector &tv) { const Operator* prolong = pfes->GetProlongationMatrix(); prolong->MultTranspose(*this, tv); } HypreParVector *ParLinearForm::ParallelAssemble() { HypreParVector *tv = pfes->NewTrueDofVector(); const Operator* prolong = pfes->GetProlongationMatrix(); prolong->MultTranspose(*this, *tv); return tv; } } #endif