<a href="Element_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span> </div>
<div class="ttc" id="aclassGooseFEM_1_1Element_1_1QuadratureBaseCartesian_html"><div class="ttname"><a href="classGooseFEM_1_1Element_1_1QuadratureBaseCartesian.html">GooseFEM::Element::QuadratureBaseCartesian</a></div><div class="ttdoc">CRTP base class for interpolation and quadrature for a generic element in Cartesian coordinates.</div><div class="ttdef"><b>Definition</b> <a href="#l00546">Element.h:546</a></div></div>
<div class="ttc" id="aclassGooseFEM_1_1Element_1_1QuadratureBaseCartesian_html_a141fd191a14371a3a7586fc6ab8dbaca"><div class="ttname"><a href="classGooseFEM_1_1Element_1_1QuadratureBaseCartesian.html#a141fd191a14371a3a7586fc6ab8dbaca">GooseFEM::Element::QuadratureBaseCartesian::Int_gradN_dot_tensor2_dV</a></div><div class="ttdeci">auto Int_gradN_dot_tensor2_dV(const T &qtensor) const -> array_type::tensor< double, 3 ></div><div class="ttdoc">Element-by-element: integral of the dot product of the shape function gradients with a second order t...</div><div class="ttdef"><b>Definition</b> <a href="#l00808">Element.h:808</a></div></div>
<div class="ttc" id="aclassGooseFEM_1_1Element_1_1QuadratureBaseCartesian_html_a1aa18f92d9b306d1432a7cebf9e51971"><div class="ttname"><a href="classGooseFEM_1_1Element_1_1QuadratureBaseCartesian.html#a1aa18f92d9b306d1432a7cebf9e51971">GooseFEM::Element::QuadratureBaseCartesian::Int_N_scalar_NT_dV</a></div><div class="ttdeci">auto Int_N_scalar_NT_dV(const T &qscalar) const -> array_type::tensor< double, 3 ></div><div class="ttdoc">Element-by-element: integral of the scalar product of the shape function with a scalar.</div><div class="ttdef"><b>Definition</b> <a href="#l00771">Element.h:771</a></div></div>
<div class="ttc" id="aclassGooseFEM_1_1Element_1_1QuadratureBaseCartesian_html_a1fe0e91a6e05d6a7ba9f1a5958c78c2c"><div class="ttname"><a href="classGooseFEM_1_1Element_1_1QuadratureBaseCartesian.html#a1fe0e91a6e05d6a7ba9f1a5958c78c2c">GooseFEM::Element::QuadratureBaseCartesian::gradN_vector</a></div><div class="ttdeci">void gradN_vector(const T &elemvec, R &qtensor) const</div><div class="ttdoc">Same as GradN_vector(), but writing to preallocated return.</div><div class="ttdef"><b>Definition</b> <a href="#l00649">Element.h:649</a></div></div>
<div class="ttc" id="aclassGooseFEM_1_1Element_1_1QuadratureBaseCartesian_html_a2959b0931ef529cdd300f2c48287b60e"><div class="ttname"><a href="classGooseFEM_1_1Element_1_1QuadratureBaseCartesian.html#a2959b0931ef529cdd300f2c48287b60e">GooseFEM::Element::QuadratureBaseCartesian::symGradN_vector</a></div><div class="ttdeci">void symGradN_vector(const T &elemvec, R &qtensor) const</div><div class="ttdoc">Same as SymGradN_vector(), but writing to preallocated return.</div><div class="ttdef"><b>Definition</b> <a href="#l00714">Element.h:714</a></div></div>
<div class="ttc" id="aclassGooseFEM_1_1Element_1_1QuadratureBaseCartesian_html_a30f1c3cfdbe823a8031431aee85bb62c"><div class="ttname"><a href="classGooseFEM_1_1Element_1_1QuadratureBaseCartesian.html#a30f1c3cfdbe823a8031431aee85bb62c">GooseFEM::Element::QuadratureBaseCartesian::int_gradN_dot_tensor2_dV</a></div><div class="ttdeci">void int_gradN_dot_tensor2_dV(const T &qtensor, R &elemvec) const</div><div class="ttdoc">Same as Int_gradN_dot_tensor2_dV(), but writing to preallocated return.</div><div class="ttdef"><b>Definition</b> <a href="#l00822">Element.h:822</a></div></div>
<div class="ttc" id="aclassGooseFEM_1_1Element_1_1QuadratureBaseCartesian_html_a34440ca3cdbfe4c1990c62e60d4d4870"><div class="ttname"><a href="classGooseFEM_1_1Element_1_1QuadratureBaseCartesian.html#a34440ca3cdbfe4c1990c62e60d4d4870">GooseFEM::Element::QuadratureBaseCartesian::InterpQuad_vector</a></div><div class="ttdeci">auto InterpQuad_vector(const T &elemvec) const -> array_type::tensor< double, 3 ></div><div class="ttdoc">Interpolate element vector and evaluate at each quadrature point.</div><div class="ttdef"><b>Definition</b> <a href="#l00598">Element.h:598</a></div></div>
<div class="ttc" id="aclassGooseFEM_1_1Element_1_1QuadratureBaseCartesian_html_a344568660d182f9dd10cf38458b6f29c"><div class="ttname"><a href="classGooseFEM_1_1Element_1_1QuadratureBaseCartesian.html#a344568660d182f9dd10cf38458b6f29c">GooseFEM::Element::QuadratureBaseCartesian::int_gradN_dot_tensor4_dot_gradNT_dV</a></div><div class="ttdeci">void int_gradN_dot_tensor4_dot_gradNT_dV(const T &qtensor, R &elemmat) const</div><div class="ttdoc">Same as Int_gradN_dot_tensor4_dot_gradNT_dV(), but writing to preallocated return.</div><div class="ttdef"><b>Definition</b> <a href="#l00865">Element.h:865</a></div></div>
<div class="ttc" id="aclassGooseFEM_1_1Element_1_1QuadratureBaseCartesian_html_a47828dc0d91a6e613a036709dd03d90a"><div class="ttname"><a href="classGooseFEM_1_1Element_1_1QuadratureBaseCartesian.html#a47828dc0d91a6e613a036709dd03d90a">GooseFEM::Element::QuadratureBaseCartesian::gradN_vector_T</a></div><div class="ttdeci">void gradN_vector_T(const T &elemvec, R &qtensor) const</div><div class="ttdoc">Same as GradN_vector_T(), but writing to preallocated return.</div><div class="ttdef"><b>Definition</b> <a href="#l00681">Element.h:681</a></div></div>
<div class="ttc" id="aclassGooseFEM_1_1Element_1_1QuadratureBaseCartesian_html_a89ffbafef9213f985d9050566379a225"><div class="ttname"><a href="classGooseFEM_1_1Element_1_1QuadratureBaseCartesian.html#a89ffbafef9213f985d9050566379a225">GooseFEM::Element::QuadratureBaseCartesian::int_N_vector_dV</a></div><div class="ttdeci">void int_N_vector_dV(const T &qvector, R &elemvec) const</div><div class="ttdoc">Same as Int_N_vector_dV(), but writing to preallocated return.</div><div class="ttdef"><b>Definition</b> <a href="#l00747">Element.h:747</a></div></div>
<div class="ttc" id="aclassGooseFEM_1_1Element_1_1QuadratureBaseCartesian_html_a941d37b127f89ff155d0c3465a1a4a53"><div class="ttname"><a href="classGooseFEM_1_1Element_1_1QuadratureBaseCartesian.html#a941d37b127f89ff155d0c3465a1a4a53">GooseFEM::Element::QuadratureBaseCartesian::Int_gradN_dot_tensor4_dot_gradNT_dV</a></div><div class="ttdeci">auto Int_gradN_dot_tensor4_dot_gradNT_dV(const T &qtensor) const -> array_type::tensor< double, 3 ></div><div class="ttdoc">Element-by-element: integral of the dot products of the shape function gradients with a fourth order ...</div><div class="ttdef"><b>Definition</b> <a href="#l00850">Element.h:850</a></div></div>
<div class="ttc" id="aclassGooseFEM_1_1Element_1_1QuadratureBaseCartesian_html_ab9f823466911faf3fea4422d273eb646"><div class="ttname"><a href="classGooseFEM_1_1Element_1_1QuadratureBaseCartesian.html#ab9f823466911faf3fea4422d273eb646">GooseFEM::Element::QuadratureBaseCartesian::GradN_vector</a></div><div class="ttdeci">auto GradN_vector(const T &elemvec) const -> array_type::tensor< double, 4 ></div><div class="ttdoc">Element-by-element: dyadic product of the shape function gradients and a nodal vector.</div><div class="ttdef"><b>Definition</b> <a href="#l00635">Element.h:635</a></div></div>
<div class="ttc" id="aclassGooseFEM_1_1Element_1_1QuadratureBaseCartesian_html_aba5493ba65dd662d8b501a47d4a2bc8d"><div class="ttname"><a href="classGooseFEM_1_1Element_1_1QuadratureBaseCartesian.html#aba5493ba65dd662d8b501a47d4a2bc8d">GooseFEM::Element::QuadratureBaseCartesian::interpQuad_vector</a></div><div class="ttdeci">void interpQuad_vector(const T &elemvec, R &qvector) const</div><div class="ttdoc">Same as InterpQuad_vector(), but writing to preallocated return.</div><div class="ttdef"><b>Definition</b> <a href="#l00613">Element.h:613</a></div></div>
<div class="ttc" id="aclassGooseFEM_1_1Element_1_1QuadratureBaseCartesian_html_abca2ae97d6cb943b0d1b9732058d0cdb"><div class="ttname"><a href="classGooseFEM_1_1Element_1_1QuadratureBaseCartesian.html#abca2ae97d6cb943b0d1b9732058d0cdb">GooseFEM::Element::QuadratureBaseCartesian::compute_dN</a></div><div class="ttdeci">void compute_dN()</div><div class="ttdoc">Update the shape function gradients (called when the nodal positions are updated).</div><div class="ttdef"><b>Definition</b> <a href="#l00874">Element.h:874</a></div></div>
<div class="ttc" id="aclassGooseFEM_1_1Element_1_1QuadratureBaseCartesian_html_ae1a863625e39fb4591cd9b0d273615ad"><div class="ttname"><a href="classGooseFEM_1_1Element_1_1QuadratureBaseCartesian.html#ae1a863625e39fb4591cd9b0d273615ad">GooseFEM::Element::QuadratureBaseCartesian::int_N_scalar_NT_dV</a></div><div class="ttdeci">void int_N_scalar_NT_dV(const T &qscalar, R &elemmat) const</div><div class="ttdoc">Same as Int_N_scalar_NT_dV(), but writing to preallocated return.</div><div class="ttdef"><b>Definition</b> <a href="#l00785">Element.h:785</a></div></div>
<div class="ttc" id="aclassGooseFEM_1_1Element_1_1QuadratureBaseCartesian_html_aecc585697501ecfe88c99bbec0cb5842"><div class="ttname"><a href="classGooseFEM_1_1Element_1_1QuadratureBaseCartesian.html#aecc585697501ecfe88c99bbec0cb5842">GooseFEM::Element::QuadratureBaseCartesian::update_x</a></div><div class="ttdeci">void update_x(const T &x)</div><div class="ttdoc">Update the nodal positions.</div><div class="ttdef"><b>Definition</b> <a href="#l00564">Element.h:564</a></div></div>
<div class="ttc" id="aclassGooseFEM_1_1Element_1_1QuadratureBaseCartesian_html_aee12cd15642c3c6e33856b940cc84ea6"><div class="ttname"><a href="classGooseFEM_1_1Element_1_1QuadratureBaseCartesian.html#aee12cd15642c3c6e33856b940cc84ea6">GooseFEM::Element::QuadratureBaseCartesian::GradN</a></div><div class="ttdeci">auto GradN() const -> const array_type::tensor< double, 4 > &</div><div class="ttdoc">Shape function gradients (in global coordinates).</div><div class="ttdef"><b>Definition</b> <a href="#l00575">Element.h:575</a></div></div>
<div class="ttc" id="aclassGooseFEM_1_1Element_1_1QuadratureBaseCartesian_html_af437256edeb36b609727b904ebf75eb5"><div class="ttname"><a href="classGooseFEM_1_1Element_1_1QuadratureBaseCartesian.html#af437256edeb36b609727b904ebf75eb5">GooseFEM::Element::QuadratureBaseCartesian::Int_N_vector_dV</a></div><div class="ttdeci">auto Int_N_vector_dV(const T &qvector) const -> array_type::tensor< double, 3 ></div><div class="ttdoc">Element-by-element: integral of a continuous vector-field.</div><div class="ttdef"><b>Definition</b> <a href="#l00732">Element.h:732</a></div></div>
<div class="ttc" id="aclassGooseFEM_1_1Element_1_1QuadratureBase_html"><div class="ttname"><a href="classGooseFEM_1_1Element_1_1QuadratureBase.html">GooseFEM::Element::QuadratureBase</a></div><div class="ttdoc">CRTP base class for quadrature.</div><div class="ttdef"><b>Definition</b> <a href="#l00151">Element.h:151</a></div></div>
<div class="ttc" id="aclassGooseFEM_1_1Element_1_1QuadratureBase_html_a0a8466aa11abb81774f293081a2b2a52"><div class="ttname"><a href="classGooseFEM_1_1Element_1_1QuadratureBase.html#a0a8466aa11abb81774f293081a2b2a52">GooseFEM::Element::QuadratureBase::shape_qscalar</a></div><div class="ttdeci">auto shape_qscalar() const -> std::array< size_t, 2 ></div><div class="ttdoc">Get the shape of a "qscalar" (a "qtensor" of rank 0)</div><div class="ttdef"><b>Definition</b> <a href="#l00354">Element.h:354</a></div></div>
<div class="ttc" id="aclassGooseFEM_1_1Element_1_1QuadratureBase_html_a11c72c19fa398fd890ca8fccff7844ad"><div class="ttname"><a href="classGooseFEM_1_1Element_1_1QuadratureBase.html#a11c72c19fa398fd890ca8fccff7844ad">GooseFEM::Element::QuadratureBase::shape_qtensor</a></div><div class="ttdeci">auto shape_qtensor(size_t rank, size_t arg) const -> std::vector< size_t ></div><div class="ttdoc">Get the shape of a "qtensor" of a certain rank (0 = scalar, 1, vector, 2 = 2nd-order tensor,...</div><div class="ttdef"><b>Definition</b> <a href="#l00341">Element.h:341</a></div></div>
<div class="ttc" id="aclassGooseFEM_1_1Element_1_1QuadratureBase_html_a1cb514623a224dc008404ab6686e9f36"><div class="ttname"><a href="classGooseFEM_1_1Element_1_1QuadratureBase.html#a1cb514623a224dc008404ab6686e9f36">GooseFEM::Element::QuadratureBase::shape_elemvec</a></div><div class="ttdeci">auto shape_elemvec(size_t arg) const -> std::array< size_t, 3 ></div><div class="ttdoc">Get the shape of an "elemvec".</div><div class="ttdef"><b>Definition</b> <a href="#l00263">Element.h:263</a></div></div>
<div class="ttc" id="aclassGooseFEM_1_1Element_1_1QuadratureBase_html_a1d349785c0ac22d417960e7915a627b0"><div class="ttname"><a href="classGooseFEM_1_1Element_1_1QuadratureBase.html#a1d349785c0ac22d417960e7915a627b0">GooseFEM::Element::QuadratureBase::shape_qvector</a></div><div class="ttdeci">auto shape_qvector() const -> std::array< size_t, 3 ></div><div class="ttdoc">Get the shape of a "qvector" (a "qtensor" of rank 1)</div><div class="ttdef"><b>Definition</b> <a href="#l00363">Element.h:363</a></div></div>
<div class="ttc" id="aclassGooseFEM_1_1Element_1_1QuadratureBase_html_a2edf8a53ea8e175ff4c2764670290d7e"><div class="ttname"><a href="classGooseFEM_1_1Element_1_1QuadratureBase.html#a2edf8a53ea8e175ff4c2764670290d7e">GooseFEM::Element::QuadratureBase::allocate_elemmat</a></div><div class="ttdeci">auto allocate_elemmat() const</div><div class="ttdoc">Get an allocated array_type::tensor to store a "elemmat".</div><div class="ttdef"><b>Definition</b> <a href="#l00414">Element.h:414</a></div></div>
<div class="ttc" id="aclassGooseFEM_1_1Element_1_1QuadratureBase_html_a397a91e672d4db8fd053aac04df52f7a"><div class="ttname"><a href="classGooseFEM_1_1Element_1_1QuadratureBase.html#a397a91e672d4db8fd053aac04df52f7a">GooseFEM::Element::QuadratureBase::nne</a></div><div class="ttdeci">auto nne() const</div><div class="ttdoc">Number of nodes per element.</div><div class="ttdef"><b>Definition</b> <a href="#l00173">Element.h:173</a></div></div>
<div class="ttc" id="aclassGooseFEM_1_1Element_1_1QuadratureBase_html_a3e8e9a5e93537d2f68470d23d897cb87"><div class="ttname"><a href="classGooseFEM_1_1Element_1_1QuadratureBase.html#a3e8e9a5e93537d2f68470d23d897cb87">GooseFEM::Element::QuadratureBase::asTensor</a></div><div class="ttdeci">void asTensor(const T &arg, R &ret) const</div><div class="ttdoc">Convert "qscalar" to "qtensor" of certain rank.</div><div class="ttdef"><b>Definition</b> <a href="#l00216">Element.h:216</a></div></div>
<div class="ttc" id="aclassGooseFEM_1_1Element_1_1QuadratureBase_html_a46ab2f3271523c41986aecf3424fcec2"><div class="ttname"><a href="classGooseFEM_1_1Element_1_1QuadratureBase.html#a46ab2f3271523c41986aecf3424fcec2">GooseFEM::Element::QuadratureBase::shape_qtensor</a></div><div class="ttdeci">auto shape_qtensor() const -> std::array< size_t, 2+rank ></div><div class="ttdoc">Get the shape of a "qtensor" of a certain rank (0 = scalar, 1, vector, 2 = 2nd-order tensor,...</div><div class="ttdef"><b>Definition</b> <a href="#l00288">Element.h:288</a></div></div>
<div class="ttc" id="aclassGooseFEM_1_1Element_1_1QuadratureBase_html_a4fde8643f1e2791c0d227712797acf85"><div class="ttname"><a href="classGooseFEM_1_1Element_1_1QuadratureBase.html#a4fde8643f1e2791c0d227712797acf85">GooseFEM::Element::QuadratureBase::allocate_elemvec</a></div><div class="ttdeci">auto allocate_elemvec() const</div><div class="ttdoc">Get an allocated array_type::tensor to store a "elemvec".</div><div class="ttdef"><b>Definition</b> <a href="#l00386">Element.h:386</a></div></div>
<div class="ttc" id="aclassGooseFEM_1_1Element_1_1QuadratureBase_html_a55379d38c9126822f831e76a9a4ab546"><div class="ttname"><a href="classGooseFEM_1_1Element_1_1QuadratureBase.html#a55379d38c9126822f831e76a9a4ab546">GooseFEM::Element::QuadratureBase::shape_elemmat</a></div><div class="ttdeci">auto shape_elemmat() const -> std::array< size_t, 3 ></div><div class="ttdoc">Get the shape of an "elemmat".</div><div class="ttdef"><b>Definition</b> <a href="#l00273">Element.h:273</a></div></div>
<div class="ttc" id="aclassGooseFEM_1_1Element_1_1QuadratureBase_html_a5c92bb0a15c36e26a918b6be756e2a95"><div class="ttname"><a href="classGooseFEM_1_1Element_1_1QuadratureBase.html#a5c92bb0a15c36e26a918b6be756e2a95">GooseFEM::Element::QuadratureBase::allocate_elemvec</a></div><div class="ttdeci">auto allocate_elemvec(R val) const</div><div class="ttdoc">Get an allocated and initialised xt::xarray to store a "elemvec".</div><div class="ttdef"><b>Definition</b> <a href="#l00399">Element.h:399</a></div></div>
<div class="ttc" id="aclassGooseFEM_1_1Element_1_1QuadratureBase_html_a63b34b880b9ad49b854b267fdf6eabc7"><div class="ttname"><a href="classGooseFEM_1_1Element_1_1QuadratureBase.html#a63b34b880b9ad49b854b267fdf6eabc7">GooseFEM::Element::QuadratureBase::shape_qvector</a></div><div class="ttdeci">auto shape_qvector(size_t arg) const -> std::array< size_t, 3 ></div><div class="ttdoc">Get the shape of a "qvector" (a "qtensor" of rank 1)</div><div class="ttdef"><b>Definition</b> <a href="#l00373">Element.h:373</a></div></div>
<div class="ttc" id="aclassGooseFEM_1_1Element_1_1QuadratureBase_html_a711f50e0c1109bd938d1e26c555eb36d"><div class="ttname"><a href="classGooseFEM_1_1Element_1_1QuadratureBase.html#a711f50e0c1109bd938d1e26c555eb36d">GooseFEM::Element::QuadratureBase::allocate_elemmat</a></div><div class="ttdeci">auto allocate_elemmat(R val) const</div><div class="ttdoc">Get an allocated and initialised xt::xarray to store a "elemmat".</div><div class="ttdef"><b>Definition</b> <a href="#l00427">Element.h:427</a></div></div>
<div class="ttc" id="aclassGooseFEM_1_1Element_1_1QuadratureBase_html_a80006f899e25aebf5f1dbd341645583d"><div class="ttname"><a href="classGooseFEM_1_1Element_1_1QuadratureBase.html#a80006f899e25aebf5f1dbd341645583d">GooseFEM::Element::QuadratureBase::shape_elemvec</a></div><div class="ttdeci">auto shape_elemvec() const -> std::array< size_t, 3 ></div><div class="ttdoc">Get the shape of an "elemvec".</div><div class="ttdef"><b>Definition</b> <a href="#l00252">Element.h:252</a></div></div>
<div class="ttc" id="aclassGooseFEM_1_1Element_1_1QuadratureBase_html_aa0113a9f649cdea13af780449ab4021f"><div class="ttname"><a href="classGooseFEM_1_1Element_1_1QuadratureBase.html#aa0113a9f649cdea13af780449ab4021f">GooseFEM::Element::QuadratureBase::allocate_qscalar</a></div><div class="ttdeci">auto allocate_qscalar(R val) const</div><div class="ttdoc">Get an allocated and initialised xt::xarray to store a "qscalar" (a "qtensor" of rank 0).</div><div class="ttdef"><b>Definition</b> <a href="#l00519">Element.h:519</a></div></div>
<div class="ttc" id="aclassGooseFEM_1_1Element_1_1QuadratureBase_html_aa95fbcd9f4e414be9ebb10b8a76fb114"><div class="ttname"><a href="classGooseFEM_1_1Element_1_1QuadratureBase.html#aa95fbcd9f4e414be9ebb10b8a76fb114">GooseFEM::Element::QuadratureBase::AsTensor</a></div><div class="ttdeci">auto AsTensor(const T &arg) const</div><div class="ttdoc">Convert "qscalar" to "qtensor" of certain rank.</div><div class="ttdef"><b>Definition</b> <a href="#l00229">Element.h:229</a></div></div>
<div class="ttc" id="aclassGooseFEM_1_1Element_1_1QuadratureBase_html_ab06d8566d914abb7c19990bbfe35d3fa"><div class="ttname"><a href="classGooseFEM_1_1Element_1_1QuadratureBase.html#ab06d8566d914abb7c19990bbfe35d3fa">GooseFEM::Element::QuadratureBase::tdim</a></div><div class="ttdeci">auto tdim() const</div><div class="ttdoc">Number of dimensions for integration point tensors.</div><div class="ttdef"><b>Definition</b> <a href="#l00193">Element.h:193</a></div></div>
<div class="ttc" id="aclassGooseFEM_1_1Element_1_1QuadratureBase_html_ab4fa267392fb435ba9425f148aa05fe9"><div class="ttname"><a href="classGooseFEM_1_1Element_1_1QuadratureBase.html#ab4fa267392fb435ba9425f148aa05fe9">GooseFEM::Element::QuadratureBase::allocate_qtensor</a></div><div class="ttdeci">auto allocate_qtensor(size_t rank) const</div><div class="ttdoc">Get an allocated xt::xarray to store a "qtensor" of a certain rank (0 = scalar, 1,...</div><div class="ttdef"><b>Definition</b> <a href="#l00476">Element.h:476</a></div></div>
<div class="ttc" id="aclassGooseFEM_1_1Element_1_1QuadratureBase_html_ab70a315b07641bb2ce67725f808850ca"><div class="ttname"><a href="classGooseFEM_1_1Element_1_1QuadratureBase.html#ab70a315b07641bb2ce67725f808850ca">GooseFEM::Element::QuadratureBase::shape_qtensor</a></div><div class="ttdeci">auto shape_qtensor(size_t rank) const -> std::vector< size_t ></div><div class="ttdoc">Get the shape of a "qtensor" of a certain rank (0 = scalar, 1, vector, 2 = 2nd-order tensor,...</div><div class="ttdef"><b>Definition</b> <a href="#l00304">Element.h:304</a></div></div>
<div class="ttc" id="aclassGooseFEM_1_1Element_1_1QuadratureBase_html_ab9d87863a29447f4205f308d05aec383"><div class="ttname"><a href="classGooseFEM_1_1Element_1_1QuadratureBase.html#ab9d87863a29447f4205f308d05aec383">GooseFEM::Element::QuadratureBase::allocate_qtensor</a></div><div class="ttdeci">auto allocate_qtensor() const</div><div class="ttdoc">Get an allocated array_type::tensor to store a "qtensor" of a certain rank (0 = scalar,...</div><div class="ttdef"><b>Definition</b> <a href="#l00444">Element.h:444</a></div></div>
<div class="ttc" id="aclassGooseFEM_1_1Element_1_1QuadratureBase_html_abf3f1aea7ef3d8a69d4b5d92089ca84b"><div class="ttname"><a href="classGooseFEM_1_1Element_1_1QuadratureBase.html#abf3f1aea7ef3d8a69d4b5d92089ca84b">GooseFEM::Element::QuadratureBase::allocate_qtensor</a></div><div class="ttdeci">auto allocate_qtensor(size_t rank, R val) const</div><div class="ttdoc">Get an allocated and initialised xt::xarray to store a "qtensor" of a certain rank (0 = scalar,...</div><div class="ttdef"><b>Definition</b> <a href="#l00491">Element.h:491</a></div></div>
<div class="ttc" id="aclassGooseFEM_1_1Element_1_1QuadratureBase_html_ac94648657f043704468a8e7e679635bc"><div class="ttname"><a href="classGooseFEM_1_1Element_1_1QuadratureBase.html#ac94648657f043704468a8e7e679635bc">GooseFEM::Element::QuadratureBase::shape_qtensor</a></div><div class="ttdeci">auto shape_qtensor(size_t rank, size_t arg) const -> std::array< size_t, 2+trank ></div><div class="ttdoc">Get the shape of a "qtensor" of a certain rank (0 = scalar, 1, vector, 2 = 2nd-order tensor,...</div><div class="ttdef"><b>Definition</b> <a href="#l00323">Element.h:323</a></div></div>
<div class="ttc" id="aclassGooseFEM_1_1Element_1_1QuadratureBase_html_ad9791371bd63e28cef83bd88b85b7ba1"><div class="ttname"><a href="classGooseFEM_1_1Element_1_1QuadratureBase.html#ad9791371bd63e28cef83bd88b85b7ba1">GooseFEM::Element::QuadratureBase::ndim</a></div><div class="ttdeci">auto ndim() const</div><div class="ttdoc">Number of dimensions for node vectors.</div><div class="ttdef"><b>Definition</b> <a href="#l00183">Element.h:183</a></div></div>
<div class="ttc" id="aclassGooseFEM_1_1Element_1_1QuadratureBase_html_ae1baa79dc3c6d125ca0e78319a7049c6"><div class="ttname"><a href="classGooseFEM_1_1Element_1_1QuadratureBase.html#ae1baa79dc3c6d125ca0e78319a7049c6">GooseFEM::Element::QuadratureBase::allocate_qscalar</a></div><div class="ttdeci">auto allocate_qscalar() const</div><div class="ttdoc">Get an allocated array_type::tensor to store a "qscalar" (a "qtensor" of rank 0).</div><div class="ttdef"><b>Definition</b> <a href="#l00506">Element.h:506</a></div></div>
<div class="ttc" id="aclassGooseFEM_1_1Element_1_1QuadratureBase_html_ae89567d9ddd4c5c302841223d02edaae"><div class="ttname"><a href="classGooseFEM_1_1Element_1_1QuadratureBase.html#ae89567d9ddd4c5c302841223d02edaae">GooseFEM::Element::QuadratureBase::AsTensor</a></div><div class="ttdeci">auto AsTensor(size_t rank, const T &arg) const</div><div class="ttdoc">Convert "qscalar" to "qtensor" of certain rank.</div><div class="ttdef"><b>Definition</b> <a href="#l00242">Element.h:242</a></div></div>
<div class="ttc" id="aclassGooseFEM_1_1Element_1_1QuadratureBase_html_ae94ca51f565362904bc530673edfa4d8"><div class="ttname"><a href="classGooseFEM_1_1Element_1_1QuadratureBase.html#ae94ca51f565362904bc530673edfa4d8">GooseFEM::Element::QuadratureBase::allocate_qtensor</a></div><div class="ttdeci">auto allocate_qtensor(R val) const</div><div class="ttdoc">Get an allocated and initialised array_type::tensor to store a "qtensor" of a certain rank (0 = scala...</div><div class="ttdef"><b>Definition</b> <a href="#l00459">Element.h:459</a></div></div>
<div class="ttc" id="anamespaceGooseFEM_1_1Element_html_a313b933d24020682c86731fad3c7c3ab"><div class="ttname"><a href="namespaceGooseFEM_1_1Element.html#a313b933d24020682c86731fad3c7c3ab">GooseFEM::Element::isDiagonal</a></div><div class="ttdeci">bool isDiagonal(const array_type::tensor< double, 3 > &elemmat)</div><div class="ttdoc">Check that all of the matrices stored per elemmat (shape: [nelem, nne * ndim, nne * ndim]) are diagon...</div><div class="ttdef"><b>Definition</b> <a href="#l00122">Element.h:122</a></div></div>
<div class="ttc" id="anamespaceGooseFEM_1_1Element_html_a3c99fb42674834f7d557a154e1b314e9"><div class="ttname"><a href="namespaceGooseFEM_1_1Element.html#a3c99fb42674834f7d557a154e1b314e9">GooseFEM::Element::asElementVector</a></div><div class="ttdeci">array_type::tensor< double, 3 > asElementVector(const array_type::tensor< size_t, 2 > &conn, const array_type::tensor< double, 2 > &nodevec)</div><div class="ttdoc">Convert nodal vector with ("nodevec", shape:[nnode, ndim]) to nodal vector stored per element ("elemv...</div><div class="ttdef"><b>Definition</b> <a href="#l00031">Element.h:31</a></div></div>
<div class="ttc" id="anamespaceGooseFEM_1_1Element_html_ab643f8cf9d1de38f7a4ae854d87bf579"><div class="ttname"><a href="namespaceGooseFEM_1_1Element.html#ab643f8cf9d1de38f7a4ae854d87bf579">GooseFEM::Element::isSequential</a></div><div class="ttdeci">bool isSequential(const E &dofs)</div><div class="ttdoc">Check that DOFs leave no holes.</div><div class="ttdef"><b>Definition</b> <a href="#l00096">Element.h:96</a></div></div>
<div class="ttc" id="anamespaceGooseFEM_html"><div class="ttname"><a href="namespaceGooseFEM.html">GooseFEM</a></div><div class="ttdoc">Toolbox to perform finite element computations.</div><div class="ttdef"><b>Definition</b> <a href="Allocate_8h_source.html#l00014">Allocate.h:14</a></div></div>
<div class="ttc" id="anamespaceGooseFEM_html_acb082fa83b6ad7cf3a04bd7a181cce81"><div class="ttname"><a href="namespaceGooseFEM.html#acb082fa83b6ad7cf3a04bd7a181cce81">GooseFEM::AsTensor</a></div><div class="ttdeci">auto AsTensor(const T &arg, const S &shape)</div><div class="ttdoc">"Broadcast" a scalar stored in an array (e.g.</div><div class="ttdef"><b>Definition</b> <a href="Allocate_8h_source.html#l00167">Allocate.h:167</a></div></div>
<div class="ttc" id="anamespaceGooseFEM_html_ae97cd438b259a7ed4c0414cb40817b36"><div class="ttname"><a href="namespaceGooseFEM.html#ae97cd438b259a7ed4c0414cb40817b36">GooseFEM::asTensor</a></div><div class="ttdeci">void asTensor(const T &arg, R &ret)</div><div class="ttdoc">"Broadcast" a scalar stored in an array (e.g.</div><div class="ttdef"><b>Definition</b> <a href="Allocate_8h_source.html#l00153">Allocate.h:153</a></div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->