G+Smo  25.01.0
Geometry + Simulation Modules
 
Loading...
Searching...
No Matches
gsThermoAssembler.h
Go to the documentation of this file.
1
15#pragma once
16
18
19namespace gismo
20{
21
27template <class T>
29{
30public:
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
42 using Base::assemble;
43 virtual void assemble(bool /* saveEliminationMatrix */);
44
45 virtual void assemble() { assemble(false); };
47
49 void assembleThermo();
50
51protected:
54
55protected:
56 const gsFunctionSet<T> & m_temperatureField;
57 bool assembledElasticity;
58 std::vector<std::pair<index_t,boxSide> > nonDirichletSides;
61
62 using Base::m_pde_ptr;
63 using Base::m_options;
64
65}; // class definition ends
66} // namespace ends
67
68#ifndef GISMO_BUILD_LIB
69#include GISMO_HPP_HEADER(gsThermoAssembler.hpp)
70#endif
gsOptionList m_options
Options.
Definition gsAssembler.h:285
memory::shared_ptr< gsPde< T > > m_pde_ptr
Definition gsAssembler.h:276
const gsMultiPatch< T > & patches() const
Return the multipatch.
Definition gsAssembler.h:601
Class containing a set of boundary conditions.
Definition gsBoundaryConditions.h:342
Assembles the stiffness matrix and the right-hand side vector for linear and nonlinear elasticity for...
Definition gsElasticityAssembler.h:32
virtual void assemble()
Main assemble routine, to be implemented in derived classes.
Definition gsElasticityAssembler.h:62
Interface for the set of functions defined on a domain (the total number of functions in the set equa...
Definition gsFunctionSet.h:219
A function from a n-dimensional domain to an m-dimensional image.
Definition gsFunction.h:60
A matrix with arbitrary coefficient type and fixed or dynamic size.
Definition gsMatrix.h:41
Holds a set of patch-wise bases and their topology information.
Definition gsMultiBasis.h:37
Container class for a set of geometry patches and their topology, that is, the interface connections ...
Definition gsMultiPatch.h:100
Assembles stiffness and mass matrices and right-hand side vector for linear and nonlinear elasticity ...
Definition gsThermoAssembler.h:29
virtual void assemble()
Main assemble routine, to be implemented in derived classes.
Definition gsThermoAssembler.h:45
void findNonDirichletSides()
Marks all non-Dirichlet sides for assembly of the boundary thermal stresses.
Definition gsThermoAssembler.hpp:55
gsMatrix< T > elastRhs
elasticity contribution to the rhs; stored separately to efficiently reassemble the thermal contribut...
Definition gsThermoAssembler.h:60
void assembleThermo()
Assembles the thermal expanstion contribution to the RHS.
Definition gsThermoAssembler.hpp:72
Provides linear and nonlinear elasticity systems for 2D plain strain and 3D continua.
The G+Smo namespace, containing all definitions for the library.