G+Smo  24.08.0
Geometry + Simulation Modules
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
gsElPoissonAssembler.h
Go to the documentation of this file.
1 
15 #pragma once
16 
18 
19 namespace gismo
20 {
21 
22 template <class T>
23 class gsElPoissonAssembler : public gsBaseAssembler<T>
24 {
25 public:
26  typedef gsBaseAssembler<T> Base;
27 
28  gsElPoissonAssembler(const gsMultiPatch<T> & patches,
29  const gsMultiBasis<T> & basis,
30  const gsBoundaryConditions<T> & bconditions,
31  const gsFunction<T> & body_force);
32 
34  static gsOptionList defaultOptions();
35 
37  virtual void refresh();
38 
40  virtual void assemble(bool saveEliminationMatrix = false);
41 
42  virtual bool assemble(const gsMatrix<T> & solutionVector,
43  const std::vector<gsMatrix<T> > & fixedDDoFs)
44  {assemble(); return true;}
45 
46  virtual void constructSolution(const gsMatrix<T> & solVector,
47  const std::vector<gsMatrix<T> > & fixedDoFs,
48  gsMultiPatch<T> & displacement) const;
49 
50 protected:
51  using Base::m_pde_ptr;
52  using Base::m_bases;
53  using Base::m_options;
54  using Base::m_system;
55  using Base::m_ddof;
56  using Base::eliminationMatrix;
57 };
58 
59 } // namespace gismo ends
60 
61 #ifndef GISMO_BUILD_LIB
62 #include GISMO_HPP_HEADER(gsElPoissonAssembler.hpp)
63 #endif
memory::shared_ptr< gsPde< T > > m_pde_ptr
Definition: gsAssembler.h:276
virtual void constructSolution(const gsMatrix< T > &solVector, const std::vector< gsMatrix< T > > &fixedDDofs, gsMultiPatch< T > &result, const gsVector< index_t > &unknowns) const
Constructs solution as a gsMultiPatch object from the solution vector and fixed DoFs.
Definition: gsBaseAssembler.hpp:23
gsOptionList m_options
Options.
Definition: gsAssembler.h:285
std::vector< gsMultiBasis< T > > m_bases
Definition: gsAssembler.h:282
Base class for assemblers of gsElasticity.
gsSparseSystem< T > m_system
Global sparse linear system.
Definition: gsAssembler.h:290
std::vector< gsMatrix< T > > m_ddof
Definition: gsAssembler.h:295
virtual void assemble()
Main assemble routine, to be implemented in derived classes.
Definition: gsAssembler.hpp:51