G+Smo  24.08.0
Geometry + Simulation Modules
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
gsThermoAssembler.h
Go to the documentation of this file.
1 
15 #pragma once
16 
18 
19 namespace gismo
20 {
21 
27 template <class T>
29 {
30 public:
32 
35  const gsMultiBasis<T> & bases,
36  const gsBoundaryConditions<T> & b_conditions,
37  const gsFunction<T> & body_force,
38  const gsFunctionSet<T> & temperature_field);
39 
41  virtual void assemble(bool saveEliminationMatrix = false);
42 
44  void assembleThermo();
45 
46 protected:
48  void findNonDirichletSides();
49 
50 protected:
51  const gsFunctionSet<T> & m_temperatureField;
52  bool assembledElasticity;
53  std::vector<std::pair<index_t,boxSide> > nonDirichletSides;
56 
57  using Base::m_pde_ptr;
58  using Base::m_options;
59 
60 }; // class definition ends
61 } // namespace ends
62 
63 #ifndef GISMO_BUILD_LIB
64 #include GISMO_HPP_HEADER(gsThermoAssembler.hpp)
65 #endif
memory::shared_ptr< gsPde< T > > m_pde_ptr
Definition: gsAssembler.h:276
gsThermoAssembler(const gsMultiPatch< T > &patches, const gsMultiBasis< T > &bases, const gsBoundaryConditions< T > &b_conditions, const gsFunction< T > &body_force, const gsFunctionSet< T > &temperature_field)
Constructor of the assembler object.
Definition: gsThermoAssembler.hpp:27
void findNonDirichletSides()
Marks all non-Dirichlet sides for assembly of the boundary thermal stresses.
Definition: gsThermoAssembler.hpp:54
Assembles stiffness and mass matrices and right-hand side vector for linear and nonlinear elasticity ...
Definition: gsThermoAssembler.h:28
gsOptionList m_options
Options.
Definition: gsAssembler.h:285
A function from a n-dimensional domain to an m-dimensional image.
Definition: gsFunction.h:59
Assembles the stiffness matrix and the right-hand side vector for linear and nonlinear elasticity for...
Definition: gsElasticityAssembler.h:31
const gsMultiPatch< T > & patches() const
Return the multipatch.
Definition: gsAssembler.h:601
Holds a set of patch-wise bases and their topology information.
Definition: gsMultiBasis.h:36
Provides linear and nonlinear elasticity systems for 2D plain strain and 3D continua.
Interface for the set of functions defined on a domain (the total number of functions in the set equa...
Definition: gsFuncData.h:23
Container class for a set of geometry patches and their topology, that is, the interface connections ...
Definition: gsMultiPatch.h:33
void assembleThermo()
Assembles the thermal expanstion contribution to the RHS.
Definition: gsThermoAssembler.hpp:71
gsMatrix< T > elastRhs
elasticity contribution to the rhs; stored separately to efficiently reassemble the thermal contribut...
Definition: gsThermoAssembler.h:55
Class containing a set of boundary conditions.
Definition: gsBoundaryConditions.h:341
virtual void assemble()
Main assemble routine, to be implemented in derived classes.
Definition: gsAssembler.hpp:51