<a href="MeshQuad4_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="line"><a id="l00558" name="l00558"></a><span class="lineno"> 558</span> <span class="comment">// element numbers of the layer, and roll them</span></div>
<div class="line"><a id="l00591" name="l00591"></a><span class="lineno"> 591</span> <span class="comment">// current node, number of element layers</span></div>
<div class="line"><a id="l00595" name="l00595"></a><span class="lineno"> 595</span> <span class="comment">// y-position of each main node layer (i.e. excluding node layers for refinement/coarsening)</span></div>
<div class="line"><a id="l00609" name="l00609"></a><span class="lineno"> 609</span> <span class="comment">// get positions along the x- and z-axis</span></div>
<div class="line"><a id="l00612" name="l00612"></a><span class="lineno"> 612</span> <span class="comment">// add nodes of the bottom layer of this element</span></div>
<div class="line"><a id="l00624" name="l00624"></a><span class="lineno"> 624</span> <span class="comment">// add extra nodes of the intermediate layer, for refinement in x-direction</span></div>
<div class="line"><a id="l00626" name="l00626"></a><span class="lineno"> 626</span> <span class="comment">// - get position offset in x- and y-direction</span></div>
<div class="line"><a id="l00643" name="l00643"></a><span class="lineno"> 643</span> <span class="comment">// get positions along the x- and z-axis</span></div>
<div class="line"><a id="l00646" name="l00646"></a><span class="lineno"> 646</span> <span class="comment">// add extra nodes of the intermediate layer, for refinement in x-direction</span></div>
<div class="line"><a id="l00648" name="l00648"></a><span class="lineno"> 648</span> <span class="comment">// - get position offset in x- and y-direction</span></div>
<div class="line"><a id="l00661" name="l00661"></a><span class="lineno"> 661</span> <span class="comment">// add nodes of the top layer of this element</span></div>
<div class="line"><a id="l00677" name="l00677"></a><span class="lineno"> 677</span> <span class="comment">// current element, number of element layers, starting nodes of each node layer</span></div>
<div class="line"><a id="l00918" name="l00918"></a><span class="lineno"> 918</span> <span class="comment">// minimum height in y-direction (half of the height because of symmetry)</span></div>
<div class="line"><a id="l00926" name="l00926"></a><span class="lineno"> 926</span> <span class="comment">// minimum number of fine layers in y-direction (minimum 1, middle layer part of this half)</span></div>
<div class="line"><a id="l00942" name="l00942"></a><span class="lineno"> 942</span> <span class="comment">// loop over element layers in y-direction, try to coarsen using these rules:</span></div>
<div class="line"><a id="l00943" name="l00943"></a><span class="lineno"> 943</span> <span class="comment">// (1) element size in y-direction <= distance to origin in y-direction</span></div>
<div class="line"><a id="l00944" name="l00944"></a><span class="lineno"> 944</span> <span class="comment">// (2) element size in x-direction should fit the total number of elements in x-direction</span></div>
<div class="line"><a id="l00945" name="l00945"></a><span class="lineno"> 945</span> <span class="comment">// (3) a certain number of layers have the minimum size "1" (are fine)</span></div>
<div class="line"><a id="l00967" name="l00967"></a><span class="lineno"> 967</span> <span class="comment">// update the number of elements in y-direction</span></div>
<div class="line"><a id="l00969" name="l00969"></a><span class="lineno"> 969</span> <span class="comment">// proceed to next element layer in y-direction</span></div>
<div class="line"><a id="l01006" name="l01006"></a><span class="lineno"> 1006</span> <span class="comment">// compute the number of elements per element layer in y-direction</span></div>
<div class="line"><a id="l01011" name="l01011"></a><span class="lineno"> 1011</span> <span class="comment">// compute the number of nodes per node layer in y-direction</span></div>
<div class="line"><a id="l01026" name="l01026"></a><span class="lineno"> 1026</span> <span class="comment">// loop over element layers (bottom -> middle, elements become finer)</span></div>
<div class="line"><a id="l01028" name="l01028"></a><span class="lineno"> 1028</span> <span class="comment">// - store the first element of the layer</span></div>
<div class="line"><a id="l01030" name="l01030"></a><span class="lineno"> 1030</span> <span class="comment">// - add the nodes of this layer</span></div>
<div class="line"><a id="l01037" name="l01037"></a><span class="lineno"> 1037</span> <span class="comment">// - add the elements of this layer</span></div>
<div class="line"><a id="l01044" name="l01044"></a><span class="lineno"> 1044</span> <span class="comment">// - store the starting node of the next layer</span></div>
<div class="line"><a id="l01048" name="l01048"></a><span class="lineno"> 1048</span> <span class="comment">// loop over element layers (middle -> top, elements become coarser)</span></div>
<div class="line"><a id="l01050" name="l01050"></a><span class="lineno"> 1050</span> <span class="comment">// - store the first element of the layer</span></div>
<div class="line"><a id="l01052" name="l01052"></a><span class="lineno"> 1052</span> <span class="comment">// - add the nodes of this layer</span></div>
<div class="line"><a id="l01059" name="l01059"></a><span class="lineno"> 1059</span> <span class="comment">// - add the elements of this layer</span></div>
<div class="line"><a id="l01066" name="l01066"></a><span class="lineno"> 1066</span> <span class="comment">// - store the starting node of the next layer</span></div>
<div class="line"><a id="l01110" name="l01110"></a><span class="lineno"> 1110</span> <span class="comment">// Get element sizes along the middle layer</span></div>
<div class="line"><a id="l01392" name="l01392"></a><span class="lineno"> 1392</span> <span class="comment">// 'matrix' of element numbers of the Regular-mesh</span></div>
<div class="line"><a id="l01395" name="l01395"></a><span class="lineno"> 1395</span> <span class="comment">// cumulative number of element-rows of the Regular-mesh per layer of the FineLayer-mesh</span></div>
<div class="line"><a id="l01399" name="l01399"></a><span class="lineno"> 1399</span> <span class="comment">// number of element layers in y-direction of the FineLayer-mesh</span></div>
<div class="line"><a id="l01402" name="l01402"></a><span class="lineno"> 1402</span> <span class="comment">// loop over layers of the FineLayer-mesh</span></div>
<div class="line"><a id="l01404" name="l01404"></a><span class="lineno"> 1404</span> <span class="comment">// element numbers of the Regular-mesh along this layer of the FineLayer-mesh</span></div>
<div class="line"><a id="l01411" name="l01411"></a><span class="lineno"> 1411</span> <span class="comment">// element numbers of the FineLayer-mesh along this layer</span></div>
<div class="line"><a id="l01414" name="l01414"></a><span class="lineno"> 1414</span> <span class="comment">// loop along this layer of the FineLayer-mesh</span></div>
<div class="line"><a id="l01416" name="l01416"></a><span class="lineno"> 1416</span> <span class="comment">// get the element numbers of the Regular-mesh for this element of the</span></div>
<div class="line"><a id="l01433" name="l01433"></a><span class="lineno"> 1433</span> <span class="comment">// element numbers of the FineLayer-mesh along this layer</span></div>
<div class="line"><a id="l01434" name="l01434"></a><span class="lineno"> 1434</span> <span class="comment">// rows: coarse block, columns element numbers per block</span></div>
<div class="line"><a id="l01438" name="l01438"></a><span class="lineno"> 1438</span> <span class="comment">// loop along this layer of the FineLayer-mesh</span></div>
<div class="line"><a id="l01440" name="l01440"></a><span class="lineno"> 1440</span> <span class="comment">// get the element numbers of the Regular-mesh for this block of the</span></div>
<div class="line"><a id="l01541" name="l01541"></a><span class="lineno"> 1541</span> <span class="comment">// element numbers of the FineLayer-mesh along this layer</span></div>
<div class="line"><a id="l01542" name="l01542"></a><span class="lineno"> 1542</span> <span class="comment">// rows: coarse block, columns element numbers per block</span></div>
<div class="line"><a id="l01546" name="l01546"></a><span class="lineno"> 1546</span> <span class="comment">// loop along this layer of the FineLayer-mesh</span></div>
<div class="line"><a id="l01548" name="l01548"></a><span class="lineno"> 1548</span> <span class="comment">// get the element numbers of the Regular-mesh for this block of the</span></div>
<div class="line"><a id="l01676" name="l01676"></a><span class="lineno"> 1676</span> <span class="comment">// elements of the Regular mesh per element of the FineLayer mesh</span></div>
<div class="line"><a id="l01677" name="l01677"></a><span class="lineno"> 1677</span> <span class="comment">// and the fraction by which the overlap is</span></div>
<div class="line"><a id="l01722" name="l01722"></a><span class="lineno"> 1722</span> <span class="comment">// elements of the Regular mesh per element of the FineLayer mesh</span></div>
<div class="line"><a id="l01723" name="l01723"></a><span class="lineno"> 1723</span> <span class="comment">// and the fraction by which the overlap is</span></div>
<div class="ttc" id="aclassGooseFEM_1_1Mesh_1_1Quad4_1_1FineLayer_html"><div class="ttname"><a href="classGooseFEM_1_1Mesh_1_1Quad4_1_1FineLayer.html">GooseFEM::Mesh::Quad4::FineLayer</a></div><div class="ttdoc">Mesh with fine middle layer, and coarser elements towards the top and bottom.</div><div class="ttdef"><b>Definition</b> <a href="#l00200">MeshQuad4.h:200</a></div></div>
<div class="ttc" id="aclassGooseFEM_1_1Mesh_1_1Quad4_1_1FineLayer_html_a004fed2dcfea351cad1e710366f68a74"><div class="ttname"><a href="classGooseFEM_1_1Mesh_1_1Quad4_1_1FineLayer.html#a004fed2dcfea351cad1e710366f68a74">GooseFEM::Mesh::Quad4::FineLayer::elemrow_nhy</a></div><div class="ttdeci">const array_type::tensor< size_t, 1 > & elemrow_nhy() const</div><div class="ttdoc">Edge size in y-direction of a block, in units of h, per row of blocks.</div><div class="ttdef"><b>Definition</b> <a href="#l00253">MeshQuad4.h:253</a></div></div>
<div class="ttc" id="aclassGooseFEM_1_1Mesh_1_1Quad4_1_1FineLayer_html_a172d40af2b128ee5dc4f131c07753467"><div class="ttname"><a href="classGooseFEM_1_1Mesh_1_1Quad4_1_1FineLayer.html#a172d40af2b128ee5dc4f131c07753467">GooseFEM::Mesh::Quad4::FineLayer::roll</a></div><div class="ttdeci">array_type::tensor< size_t, 1 > roll(size_t n)</div><div class="ttdoc">Mapping to 'roll' periodically in the x-direction,.</div><div class="ttdef"><b>Definition</b> <a href="#l00539">MeshQuad4.h:539</a></div></div>
<div class="ttc" id="aclassGooseFEM_1_1Mesh_1_1Quad4_1_1FineLayer_html_a2d1e0130f31a575ffaa9d7a20b1878c0"><div class="ttname"><a href="classGooseFEM_1_1Mesh_1_1Quad4_1_1FineLayer.html#a2d1e0130f31a575ffaa9d7a20b1878c0">GooseFEM::Mesh::Quad4::FineLayer::elementsLayer</a></div><div class="ttdeci">array_type::tensor< size_t, 1 > elementsLayer(size_t layer) const</div><div class="ttdoc">Elements along a layer.</div><div class="ttdef"><b>Definition</b> <a href="#l00299">MeshQuad4.h:299</a></div></div>
<div class="ttc" id="aclassGooseFEM_1_1Mesh_1_1Quad4_1_1FineLayer_html_a334646df45c8318fe0319bc19ad6f93f"><div class="ttname"><a href="classGooseFEM_1_1Mesh_1_1Quad4_1_1FineLayer.html#a334646df45c8318fe0319bc19ad6f93f">GooseFEM::Mesh::Quad4::FineLayer::elementgrid_leftright</a></div><div class="ttdeci">array_type::tensor< size_t, 1 > elementgrid_leftright(size_t e, size_t left, size_t right, bool periodic=true)</div><div class="ttdoc">Select region of elements from 'matrix' of element numbers around an element: left/right from element...</div><div class="ttdef"><b>Definition</b> <a href="#l00483">MeshQuad4.h:483</a></div></div>
<div class="ttc" id="aclassGooseFEM_1_1Mesh_1_1Quad4_1_1FineLayer_html_a37aee6dc14cb8b0159fe2c99d5da0a09"><div class="ttname"><a href="classGooseFEM_1_1Mesh_1_1Quad4_1_1FineLayer.html#a37aee6dc14cb8b0159fe2c99d5da0a09">GooseFEM::Mesh::Quad4::FineLayer::elementgrid_around_ravel</a></div><div class="ttdeci">array_type::tensor< size_t, 1 > elementgrid_around_ravel(size_t e, size_t size, bool periodic=true)</div><div class="ttdoc">Select region of elements from 'matrix' of element numbers around an element: square box with edge-si...</div><div class="ttdef"><b>Definition</b> <a href="#l00410">MeshQuad4.h:410</a></div></div>
<div class="ttc" id="aclassGooseFEM_1_1Mesh_1_1Quad4_1_1FineLayer_html_a3b2bdf02b70c868cdb23c3f5356a96a5"><div class="ttname"><a href="classGooseFEM_1_1Mesh_1_1Quad4_1_1FineLayer.html#a3b2bdf02b70c868cdb23c3f5356a96a5">GooseFEM::Mesh::Quad4::FineLayer::FineLayer</a></div><div class="ttdeci">FineLayer(const C &coor, const E &conn)</div><div class="ttdoc">Reconstruct class for given coordinates / connectivity.</div><div class="ttdef"><b>Definition</b> <a href="#l00229">MeshQuad4.h:229</a></div></div>
<div class="ttc" id="aclassGooseFEM_1_1Mesh_1_1Quad4_1_1FineLayer_html_a95335852b4f9d758d96a3e2afb1b213b"><div class="ttname"><a href="classGooseFEM_1_1Mesh_1_1Quad4_1_1FineLayer.html#a95335852b4f9d758d96a3e2afb1b213b">GooseFEM::Mesh::Quad4::FineLayer::elemrow_type</a></div><div class="ttdeci">const array_type::tensor< int, 1 > & elemrow_type() const</div><div class="ttdoc">Per row of blocks: -1: normal layer 0: transition layer to match coarse and finer element on the prev...</div><div class="ttdef"><b>Definition</b> <a href="#l00265">MeshQuad4.h:265</a></div></div>
<div class="ttc" id="aclassGooseFEM_1_1Mesh_1_1Quad4_1_1FineLayer_html_aaddbdc0d7ce565d7019033d4b55c1bee"><div class="ttname"><a href="classGooseFEM_1_1Mesh_1_1Quad4_1_1FineLayer.html#aaddbdc0d7ce565d7019033d4b55c1bee">GooseFEM::Mesh::Quad4::FineLayer::elemrow_nhx</a></div><div class="ttdeci">const array_type::tensor< size_t, 1 > & elemrow_nhx() const</div><div class="ttdoc">Edge size in x-direction of a block, in units of h, per row of blocks.</div><div class="ttdef"><b>Definition</b> <a href="#l00241">MeshQuad4.h:241</a></div></div>
<div class="ttc" id="aclassGooseFEM_1_1Mesh_1_1Quad4_1_1FineLayer_html_aca043d927666c8414ecf5f868743273b"><div class="ttname"><a href="classGooseFEM_1_1Mesh_1_1Quad4_1_1FineLayer.html#aca043d927666c8414ecf5f868743273b">GooseFEM::Mesh::Quad4::FineLayer::elementgrid_ravel</a></div><div class="ttdeci">array_type::tensor< size_t, 1 > elementgrid_ravel(std::vector< size_t > start_stop_rows, std::vector< size_t > start_stop_cols) const</div><div class="ttdoc">Select region of elements from 'matrix' of element numbers.</div><div class="ttdef"><b>Definition</b> <a href="#l00314">MeshQuad4.h:314</a></div></div>
<div class="ttc" id="aclassGooseFEM_1_1Mesh_1_1Quad4_1_1FineLayer_html_ad2ed0b81ca6c30ae22ac1e7140016a5f"><div class="ttname"><a href="classGooseFEM_1_1Mesh_1_1Quad4_1_1FineLayer.html#ad2ed0b81ca6c30ae22ac1e7140016a5f">GooseFEM::Mesh::Quad4::FineLayer::elemrow_nelem</a></div><div class="ttdeci">const array_type::tensor< size_t, 1 > & elemrow_nelem() const</div><div class="ttdoc">Number of elements per row of blocks.</div><div class="ttdef"><b>Definition</b> <a href="#l00277">MeshQuad4.h:277</a></div></div>
<div class="ttc" id="aclassGooseFEM_1_1Mesh_1_1Quad4_1_1FineLayer_html_af24f025b955b0556d97499bf92ecc3bb"><div class="ttname"><a href="classGooseFEM_1_1Mesh_1_1Quad4_1_1FineLayer.html#af24f025b955b0556d97499bf92ecc3bb">GooseFEM::Mesh::Quad4::FineLayer::elementsMiddleLayer</a></div><div class="ttdeci">array_type::tensor< size_t, 1 > elementsMiddleLayer() const</div><div class="ttdoc">Elements in the middle (fine) layer.</div><div class="ttdef"><b>Definition</b> <a href="#l00287">MeshQuad4.h:287</a></div></div>
<div class="ttc" id="aclassGooseFEM_1_1Mesh_1_1Quad4_1_1Map_1_1FineLayer2Regular_html"><div class="ttname"><a href="classGooseFEM_1_1Mesh_1_1Quad4_1_1Map_1_1FineLayer2Regular.html">GooseFEM::Mesh::Quad4::Map::FineLayer2Regular</a></div><div class="ttdoc">Map a FineLayer mesh to a Regular mesh.</div><div class="ttdef"><b>Definition</b> <a href="#l01359">MeshQuad4.h:1359</a></div></div>
<div class="ttc" id="aclassGooseFEM_1_1Mesh_1_1Quad4_1_1Map_1_1FineLayer2Regular_html_a21ff121c8eca52060de2b4a262955981"><div class="ttname"><a href="classGooseFEM_1_1Mesh_1_1Quad4_1_1Map_1_1FineLayer2Regular.html#a21ff121c8eca52060de2b4a262955981">GooseFEM::Mesh::Quad4::Map::FineLayer2Regular::getMapFraction</a></div><div class="ttdeci">std::vector< std::vector< double > > getMapFraction() const</div><div class="ttdoc">To overlap fraction for each item in the mapping in getMap().</div><div class="ttdef"><b>Definition</b> <a href="#l01743">MeshQuad4.h:1743</a></div></div>
<div class="ttc" id="aclassGooseFEM_1_1Mesh_1_1Quad4_1_1Map_1_1FineLayer2Regular_html_a4397fce6dbd89f9c6acde5725e3fc329"><div class="ttname"><a href="classGooseFEM_1_1Mesh_1_1Quad4_1_1Map_1_1FineLayer2Regular.html#a4397fce6dbd89f9c6acde5725e3fc329">GooseFEM::Mesh::Quad4::Map::FineLayer2Regular::fineLayerMesh</a></div><div class="ttdeci">GooseFEM::Mesh::Quad4::FineLayer fineLayerMesh() const</div><div class="ttdoc">Obtain the FineLayer mesh (copy of the mesh passed to the constructor).</div><div class="ttdef"><b>Definition</b> <a href="#l01671">MeshQuad4.h:1671</a></div></div>
<div class="ttc" id="aclassGooseFEM_1_1Mesh_1_1Quad4_1_1Map_1_1FineLayer2Regular_html_a4b3c692c5a0a4f38cc057784c303c950"><div class="ttname"><a href="classGooseFEM_1_1Mesh_1_1Quad4_1_1Map_1_1FineLayer2Regular.html#a4b3c692c5a0a4f38cc057784c303c950">GooseFEM::Mesh::Quad4::Map::FineLayer2Regular::map</a></div><div class="ttdeci">std::vector< std::vector< size_t > > map() const</div><div class="ttdoc">Get element-mapping: elements of the Regular mesh per element of the FineLayer mesh.</div><div class="ttdef"><b>Definition</b> <a href="#l01685">MeshQuad4.h:1685</a></div></div>
<div class="ttc" id="aclassGooseFEM_1_1Mesh_1_1Quad4_1_1Map_1_1FineLayer2Regular_html_aaa77f8843523c18fa09bf6dc2c2094c2"><div class="ttname"><a href="classGooseFEM_1_1Mesh_1_1Quad4_1_1Map_1_1FineLayer2Regular.html#aaa77f8843523c18fa09bf6dc2c2094c2">GooseFEM::Mesh::Quad4::Map::FineLayer2Regular::getFineLayerMesh</a></div><div class="ttdeci">GooseFEM::Mesh::Quad4::FineLayer getFineLayerMesh() const</div><div class="ttdoc">Obtain the FineLayer mesh (copy of the mesh passed to the constructor).</div><div class="ttdef"><b>Definition</b> <a href="#l01717">MeshQuad4.h:1717</a></div></div>
<div class="ttc" id="aclassGooseFEM_1_1Mesh_1_1Quad4_1_1Map_1_1FineLayer2Regular_html_ac5d69d595a5a0f5a6f54040ed4935711"><div class="ttname"><a href="classGooseFEM_1_1Mesh_1_1Quad4_1_1Map_1_1FineLayer2Regular.html#ac5d69d595a5a0f5a6f54040ed4935711">GooseFEM::Mesh::Quad4::Map::FineLayer2Regular::mapFraction</a></div><div class="ttdeci">std::vector< std::vector< double > > mapFraction() const</div><div class="ttdoc">To overlap fraction for each item in the mapping in map().</div><div class="ttdef"><b>Definition</b> <a href="#l01695">MeshQuad4.h:1695</a></div></div>
<div class="ttc" id="aclassGooseFEM_1_1Mesh_1_1Quad4_1_1Map_1_1FineLayer2Regular_html_ae5bd2568f40628e59d43bd5c2b6a07b5"><div class="ttname"><a href="classGooseFEM_1_1Mesh_1_1Quad4_1_1Map_1_1FineLayer2Regular.html#ae5bd2568f40628e59d43bd5c2b6a07b5">GooseFEM::Mesh::Quad4::Map::FineLayer2Regular::getMap</a></div><div class="ttdeci">std::vector< std::vector< size_t > > getMap() const</div><div class="ttdoc">Get element-mapping: elements of the Regular mesh per element of the FineLayer mesh.</div><div class="ttdef"><b>Definition</b> <a href="#l01732">MeshQuad4.h:1732</a></div></div>
<div class="ttc" id="aclassGooseFEM_1_1Mesh_1_1Quad4_1_1Map_1_1RefineRegular_html"><div class="ttname"><a href="classGooseFEM_1_1Mesh_1_1Quad4_1_1Map_1_1RefineRegular.html">GooseFEM::Mesh::Quad4::Map::RefineRegular</a></div><div class="ttdoc">Refine a Regular mesh: subdivide elements in several smaller elements.</div><div class="ttdef"><b>Definition</b> <a href="#l01145">MeshQuad4.h:1145</a></div></div>
<div class="ttc" id="aclassGooseFEM_1_1Mesh_1_1Quad4_1_1Map_1_1RefineRegular_html_a0932ab6e18811e8ce919745ecf723758"><div class="ttname"><a href="classGooseFEM_1_1Mesh_1_1Quad4_1_1Map_1_1RefineRegular.html#a0932ab6e18811e8ce919745ecf723758">GooseFEM::Mesh::Quad4::Map::RefineRegular::getCoarseMesh</a></div><div class="ttdeci">GooseFEM::Mesh::Quad4::Regular getCoarseMesh() const</div><div class="ttdoc">Obtain the coarse mesh (copy of the mesh passed to the constructor).</div><div class="ttdef"><b>Definition</b> <a href="#l01227">MeshQuad4.h:1227</a></div></div>
<div class="ttc" id="aclassGooseFEM_1_1Mesh_1_1Quad4_1_1Map_1_1RefineRegular_html_a0b3d67752056246a11392de9fd3e5888"><div class="ttname"><a href="classGooseFEM_1_1Mesh_1_1Quad4_1_1Map_1_1RefineRegular.html#a0b3d67752056246a11392de9fd3e5888">GooseFEM::Mesh::Quad4::Map::RefineRegular::getMap</a></div><div class="ttdeci">const array_type::tensor< size_t, 2 > & getMap() const</div><div class="ttdoc">Get element-mapping: elements of the fine mesh per element of the coarse mesh.</div><div class="ttdef"><b>Definition</b> <a href="#l01247">MeshQuad4.h:1247</a></div></div>
<div class="ttc" id="aclassGooseFEM_1_1Mesh_1_1Quad4_1_1Map_1_1RefineRegular_html_a15a0a45f3986fe5b2016c5679ec6d109"><div class="ttname"><a href="classGooseFEM_1_1Mesh_1_1Quad4_1_1Map_1_1RefineRegular.html#a15a0a45f3986fe5b2016c5679ec6d109">GooseFEM::Mesh::Quad4::Map::RefineRegular::mapToFine</a></div><div class="ttdeci">array_type::tensor< T, rank > mapToFine(const array_type::tensor< T, rank > &data) const</div><div class="ttdoc">Map element quantities to the fine mesh.</div><div class="ttdef"><b>Definition</b> <a href="#l01327">MeshQuad4.h:1327</a></div></div>
<div class="ttc" id="aclassGooseFEM_1_1Mesh_1_1Quad4_1_1Map_1_1RefineRegular_html_a26e585e97ea725659a5ae74cbec7e391"><div class="ttname"><a href="classGooseFEM_1_1Mesh_1_1Quad4_1_1Map_1_1RefineRegular.html#a26e585e97ea725659a5ae74cbec7e391">GooseFEM::Mesh::Quad4::Map::RefineRegular::fineMesh</a></div><div class="ttdeci">GooseFEM::Mesh::Quad4::Regular fineMesh() const</div><div class="ttdoc">Obtain the fine mesh.</div><div class="ttdef"><b>Definition</b> <a href="#l01208">MeshQuad4.h:1208</a></div></div>
<div class="ttc" id="aclassGooseFEM_1_1Mesh_1_1Quad4_1_1Map_1_1RefineRegular_html_a4fcd5b75c1ed47fe3876f470ef5d0d64"><div class="ttname"><a href="classGooseFEM_1_1Mesh_1_1Quad4_1_1Map_1_1RefineRegular.html#a4fcd5b75c1ed47fe3876f470ef5d0d64">GooseFEM::Mesh::Quad4::Map::RefineRegular::coarseMesh</a></div><div class="ttdeci">GooseFEM::Mesh::Quad4::Regular coarseMesh() const</div><div class="ttdoc">Obtain the coarse mesh (copy of the mesh passed to the constructor).</div><div class="ttdef"><b>Definition</b> <a href="#l01199">MeshQuad4.h:1199</a></div></div>
<div class="ttc" id="aclassGooseFEM_1_1Mesh_1_1Quad4_1_1Map_1_1RefineRegular_html_a693d2e4bbdcfa09fe9ff1b44f0dbcf87"><div class="ttname"><a href="classGooseFEM_1_1Mesh_1_1Quad4_1_1Map_1_1RefineRegular.html#a693d2e4bbdcfa09fe9ff1b44f0dbcf87">GooseFEM::Mesh::Quad4::Map::RefineRegular::ny</a></div><div class="ttdeci">size_t ny() const</div><div class="ttdoc">For each coarse element: number of fine elements in y-direction.</div><div class="ttdef"><b>Definition</b> <a href="#l01190">MeshQuad4.h:1190</a></div></div>
<div class="ttc" id="aclassGooseFEM_1_1Mesh_1_1Quad4_1_1Map_1_1RefineRegular_html_a6eb0a7060a918be065cc539003ee5f73"><div class="ttname"><a href="classGooseFEM_1_1Mesh_1_1Quad4_1_1Map_1_1RefineRegular.html#a6eb0a7060a918be065cc539003ee5f73">GooseFEM::Mesh::Quad4::Map::RefineRegular::meanToCoarse</a></div><div class="ttdeci">array_type::tensor< T, rank > meanToCoarse(const array_type::tensor< T, rank > &data) const</div><div class="ttdoc">Compute the mean of the quantity define on the fine mesh when mapped on the coarse mesh.</div><div class="ttdef"><b>Definition</b> <a href="#l01261">MeshQuad4.h:1261</a></div></div>
<div class="ttc" id="aclassGooseFEM_1_1Mesh_1_1Quad4_1_1Map_1_1RefineRegular_html_aaebab1e02a32cb9ae808b817c37ea125"><div class="ttname"><a href="classGooseFEM_1_1Mesh_1_1Quad4_1_1Map_1_1RefineRegular.html#aaebab1e02a32cb9ae808b817c37ea125">GooseFEM::Mesh::Quad4::Map::RefineRegular::nx</a></div><div class="ttdeci">size_t nx() const</div><div class="ttdoc">For each coarse element: number of fine elements in x-direction.</div><div class="ttdef"><b>Definition</b> <a href="#l01180">MeshQuad4.h:1180</a></div></div>
<div class="ttc" id="aclassGooseFEM_1_1Mesh_1_1Quad4_1_1Map_1_1RefineRegular_html_abd3fdfa10315eb68ed3ab62d5cd5c98c"><div class="ttname"><a href="classGooseFEM_1_1Mesh_1_1Quad4_1_1Map_1_1RefineRegular.html#abd3fdfa10315eb68ed3ab62d5cd5c98c">GooseFEM::Mesh::Quad4::Map::RefineRegular::averageToCoarse</a></div><div class="ttdeci">array_type::tensor< T, rank > averageToCoarse(const array_type::tensor< T, rank > &data, const array_type::tensor< S, rank > &weights) const</div><div class="ttdoc">Compute the average of the quantity define on the fine mesh when mapped on the coarse mesh.</div><div class="ttdef"><b>Definition</b> <a href="#l01291">MeshQuad4.h:1291</a></div></div>
<div class="ttc" id="aclassGooseFEM_1_1Mesh_1_1Quad4_1_1Map_1_1RefineRegular_html_ad505fe7891e79e9eab0db7dc643bed0e"><div class="ttname"><a href="classGooseFEM_1_1Mesh_1_1Quad4_1_1Map_1_1RefineRegular.html#ad505fe7891e79e9eab0db7dc643bed0e">GooseFEM::Mesh::Quad4::Map::RefineRegular::getFineMesh</a></div><div class="ttdeci">GooseFEM::Mesh::Quad4::Regular getFineMesh() const</div><div class="ttdoc">Obtain the fine mesh.</div><div class="ttdef"><b>Definition</b> <a href="#l01237">MeshQuad4.h:1237</a></div></div>
<div class="ttc" id="aclassGooseFEM_1_1Mesh_1_1Quad4_1_1Map_1_1RefineRegular_html_afb4228d4b963e0c4166d92bad873f53a"><div class="ttname"><a href="classGooseFEM_1_1Mesh_1_1Quad4_1_1Map_1_1RefineRegular.html#afb4228d4b963e0c4166d92bad873f53a">GooseFEM::Mesh::Quad4::Map::RefineRegular::map</a></div><div class="ttdeci">const array_type::tensor< size_t, 2 > & map() const</div><div class="ttdoc">Get element-mapping: elements of the fine mesh per element of the coarse mesh.</div><div class="ttdef"><b>Definition</b> <a href="#l01217">MeshQuad4.h:1217</a></div></div>
<div class="ttc" id="aclassGooseFEM_1_1Mesh_1_1RegularBase2d_html"><div class="ttname"><a href="classGooseFEM_1_1Mesh_1_1RegularBase2d.html">GooseFEM::Mesh::RegularBase2d</a></div><div class="ttdoc">CRTP base class for regular meshes in 2d.</div><div class="ttdef"><b>Definition</b> <a href="Mesh_8h_source.html#l00339">Mesh.h:339</a></div></div>
<div class="ttc" id="aclassGooseFEM_1_1Mesh_1_1RegularBase_html"><div class="ttname"><a href="classGooseFEM_1_1Mesh_1_1RegularBase.html">GooseFEM::Mesh::RegularBase</a></div><div class="ttdoc">CRTP base class for regular meshes.</div><div class="ttdef"><b>Definition</b> <a href="Mesh_8h_source.html#l00181">Mesh.h:181</a></div></div>
<div class="ttc" id="aclassGooseFEM_1_1Mesh_1_1RegularBase_html_a2b1e724266a6ea6ad9c21dcf87f30c8f"><div class="ttname"><a href="classGooseFEM_1_1Mesh_1_1RegularBase.html#a2b1e724266a6ea6ad9c21dcf87f30c8f">GooseFEM::Mesh::RegularBase::nely</a></div><div class="ttdeci">auto nely() const</div><div class="ttdoc">Number of elements in y-direction == height of the mesh, in units of h,.</div><div class="ttdef"><b>Definition</b> <a href="Mesh_8h_source.html#l00237">Mesh.h:237</a></div></div>
<div class="ttc" id="aclassGooseFEM_1_1Mesh_1_1RegularBase_html_a9b57e26ca3bcd0e1109c5295534b4be0"><div class="ttname"><a href="classGooseFEM_1_1Mesh_1_1RegularBase.html#a9b57e26ca3bcd0e1109c5295534b4be0">GooseFEM::Mesh::RegularBase::h</a></div><div class="ttdeci">auto h() const</div><div class="ttdoc">Linear edge size of one 'block'.</div><div class="ttdef"><b>Definition</b> <a href="Mesh_8h_source.html#l00246">Mesh.h:246</a></div></div>
<div class="ttc" id="aclassGooseFEM_1_1Mesh_1_1RegularBase_html_a9bbaff6778108ff92394e5f639bb64ee"><div class="ttname"><a href="classGooseFEM_1_1Mesh_1_1RegularBase.html#a9bbaff6778108ff92394e5f639bb64ee">GooseFEM::Mesh::RegularBase::nelx</a></div><div class="ttdeci">auto nelx() const</div><div class="ttdoc">Number of elements in x-direction == width of the mesh in units of h.</div><div class="ttdef"><b>Definition</b> <a href="Mesh_8h_source.html#l00228">Mesh.h:228</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><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->