14 #include <gsAssembler/gsVisitorBiharmonic.h>
22 template <
class T,
class bhVisitor>
27 Base::scalarProblemGalerkinRefresh();
30 template <
class T,
class bhVisitor>
33 GISMO_ASSERT(m_system.initialized(),
"Sparse system is not initialized, call refresh()");
36 const index_t nz = gsAssemblerOptions::numColNz(m_bases[0][0],2,1,0.333333);
37 m_system.reserve(nz, this->pde().numRhs());
40 Base::computeDirichletDofs();
43 Base::template push<bhVisitor >();
46 Base::template push<gsVisitorNeumann<T> >(
47 m_ppde.bcFirstKind().neumannSides() );
50 Base::template push<gsVisitorNeumannBiharmonic<T> >(
51 m_ppde.bcSecondKind().neumannSides() );
53 if ( m_options.getInt(
"InterfaceStrategy") == iFace::dg )
54 gsWarn <<
"DG option ignored.\n";
Neumann conditions visitor for elliptic problems.
void refresh()
Creates the mappers and setups the sparse system. to be implemented in derived classes, see scalarProblemGalerkinRefresh() for a possible implementation.
Definition: gsBiharmonicAssembler.hpp:23
Neumann conditions visitor for 4th order problems.
#define index_t
Definition: gsConfig.h:32
#define GISMO_ASSERT(cond, message)
Definition: gsDebug.h:89
#define gsWarn
Definition: gsDebug.h:50
void assemble()
Main assemble routine, to be implemented in derived classes.
Definition: gsBiharmonicAssembler.hpp:31