G+Smo  25.01.0
Geometry + Simulation Modules
 
Loading...
Searching...
No Matches
gsElPoissonAssembler.h
Go to the documentation of this file.
1
15#pragma once
16
18
19namespace gismo
20{
21
22template <class T>
23class gsElPoissonAssembler : public gsBaseAssembler<T>
24{
25public:
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
41 virtual void assemble(bool saveEliminationMatrix);
42
43 virtual void assemble() { assemble(false); };
44
45 using Base::assemble;
46 virtual bool assemble(const gsMatrix<T> & /* solutionVector */,
47 const std::vector<gsMatrix<T> > & /* fixedDDoFs */)
48 {assemble(); return true;}
50
52 virtual void constructSolution(const gsMatrix<T> & solVector,
53 const std::vector<gsMatrix<T> > & fixedDoFs,
54 gsMultiPatch<T> & displacement) const;
55
56protected:
57 using Base::m_pde_ptr;
58 using Base::m_bases;
59 using Base::m_options;
60 using Base::m_system;
61 using Base::m_ddof;
62 using Base::eliminationMatrix;
63};
64
65} // namespace gismo ends
66
67#ifndef GISMO_BUILD_LIB
68#include GISMO_HPP_HEADER(gsElPoissonAssembler.hpp)
69#endif
gsSparseSystem< T > m_system
Global sparse linear system.
Definition gsAssembler.h:290
std::vector< gsMultiBasis< T > > m_bases
Definition gsAssembler.h:282
gsOptionList m_options
Options.
Definition gsAssembler.h:285
memory::shared_ptr< gsPde< T > > m_pde_ptr
Definition gsAssembler.h:276
std::vector< gsMatrix< T > > m_ddof
Definition gsAssembler.h:295
const gsMultiPatch< T > & patches() const
Return the multipatch.
Definition gsAssembler.h:601
virtual void assemble()
Main assemble routine, to be implemented in derived classes.
Definition gsBaseAssembler.h:40
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
Base class for assemblers of gsElasticity.
The G+Smo namespace, containing all definitions for the library.