MFEM  v4.1.0 Finite element discretization library
plinearform.cpp
Go to the documentation of this file.
1 // Copyright (c) 2010-2020, Lawrence Livermore National Security, LLC. Produced
3 // LICENSE and NOTICE for details. LLNL-CODE-806117.
4 //
5 // This file is part of the MFEM library. For more information and source code
6 // availability visit https://mfem.org.
7 //
8 // MFEM is free software; you can redistribute it and/or modify it under the
9 // terms of the BSD-3 license. We welcome feedback and contributions, see file
10 // CONTRIBUTING.md for details.
11
12 #include "../config/config.hpp"
13
14 #ifdef MFEM_USE_MPI
15
16 #include "fem.hpp"
17
18 namespace mfem
19 {
20
22 {
23  if (pf) { pfes = pf; }
24
26 }
27
29 {
30  pfes = pf;
31  LinearForm::Update(pf,v,v_offset);
32 }
33
35 {
36  const Operator* prolong = pfes->GetProlongationMatrix();
37  prolong->MultTranspose(*this, tv);
38 }
39
41 {
43  const Operator* prolong = pfes->GetProlongationMatrix();
44  prolong->MultTranspose(*this, *tv);
45  return tv;
46 }
47
48 }
49
50 #endif
HypreParVector * NewTrueDofVector()
Definition: pfespace.hpp:291
virtual const Operator * GetProlongationMatrix() const
The returned Operator is owned by the FiniteElementSpace.
Definition: pfespace.cpp:890
Abstract parallel finite element space.
Definition: pfespace.hpp:28
virtual void MultTranspose(const Vector &x, Vector &y) const
Action of the transpose operator: y=A^t(x). The default behavior in class Operator is to generate an ...
Definition: operator.hpp:84
Wrapper for hypre&#39;s parallel vector class.
Definition: hypre.hpp:73
HypreParVector * ParallelAssemble()
Returns the vector assembled on the true dofs, i.e. P^t v.
Definition: plinearform.cpp:40
void Update()
Update the object according to the associated FE space fes.
Definition: linearform.hpp:166
ParFiniteElementSpace * pfes
Points to the same object as fes.
Definition: plinearform.hpp:29
Vector data type.
Definition: vector.hpp:48
Abstract operator.
Definition: operator.hpp:24