PolyFEM
Loading...
Searching...
No Matches
AssemblerData.hpp
Go to the documentation of this file.
1#pragma once
2
4
5namespace polyfem::assembler
6{
8 {
9 public:
12 const double t,
13 const double dt,
14 const Eigen::MatrixXd &x,
15 const Eigen::MatrixXd &x_prev,
16 const QuadratureVector &da)
17 : vals(vals), t(t), dt(dt), x(x), x_prev(x_prev), da(da)
18 {
19 }
20
22 const double t;
23 const double dt;
24 const Eigen::MatrixXd &x;
25 const Eigen::MatrixXd &x_prev;
27 };
28
30 {
31 public:
34 const double t,
35 int i, int j,
36 const QuadratureVector &da)
37 : vals(vals), t(t), i(i), j(j), da(da)
38 {
39 }
40
43
44 const double t;
46 const int i;
48 const int j;
51 };
52
54 {
55 public:
59 const double t,
60 int i, int j,
61 const QuadratureVector &da)
63 t(t), i(i), j(j), da(da)
64 {
65 }
66
71
72 const double t;
74 const int i;
76 const int j;
79 };
80
82 {
83 public:
85 const double t,
86 const double dt,
87 const int el_id,
88 const Eigen::MatrixXd &local_pts,
89 const Eigen::MatrixXd &global_pts,
90 const Eigen::MatrixXd &grad_u_i)
92 {
93 }
94
95 const double t;
96 const double dt;
97 const int el_id;
98 const Eigen::MatrixXd &local_pts;
99 const Eigen::MatrixXd &global_pts;
100 const Eigen::MatrixXd &grad_u_i;
101 };
102
104 {
105 public:
107 const double t,
108 const int el_id,
109 const basis::ElementBases &bs,
111 const Eigen::MatrixXd &local_pts,
112 const Eigen::MatrixXd &fun)
114 {
115 }
116
117 const double t;
118 const int el_id;
121 const Eigen::MatrixXd &local_pts;
122 const Eigen::MatrixXd &fun;
123 };
124} // namespace polyfem::assembler
stores per element basis values at given quadrature points and geometric mapping
const ElementAssemblyValues & vals
stores the evaluation for that element
const QuadratureVector & da
contains both the quadrature weight and the change of metric in the integral
LinearAssemblerData(const ElementAssemblyValues &vals, const double t, int i, int j, const QuadratureVector &da)
MixedAssemblerData(const ElementAssemblyValues &psi_vals, const ElementAssemblyValues &phi_vals, const double t, int i, int j, const QuadratureVector &da)
const QuadratureVector & da
contains both the quadrature weight and the change of metric in the integral
const ElementAssemblyValues & phi_vals
stores the evaluation for that element
const ElementAssemblyValues & psi_vals
stores the evaluation for that element
NonLinearAssemblerData(const ElementAssemblyValues &vals, const double t, const double dt, const Eigen::MatrixXd &x, const Eigen::MatrixXd &x_prev, const QuadratureVector &da)
OptAssemblerData(const double t, const double dt, const int el_id, const Eigen::MatrixXd &local_pts, const Eigen::MatrixXd &global_pts, const Eigen::MatrixXd &grad_u_i)
const basis::ElementBases & bs
OutputData(const double t, const int el_id, const basis::ElementBases &bs, const basis::ElementBases &gbs, const Eigen::MatrixXd &local_pts, const Eigen::MatrixXd &fun)
const Eigen::MatrixXd & fun
const Eigen::MatrixXd & local_pts
const basis::ElementBases & gbs
Stores the basis functions for a given element in a mesh (facet in 2d, cell in 3d).
Used for test only.
Eigen::Matrix< double, Eigen::Dynamic, 1, 0, MAX_QUAD_POINTS, 1 > QuadratureVector
Definition Types.hpp:17