249 lines
31 KiB
HTML
249 lines
31 KiB
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
|
<meta name="generator" content="Doxygen 1.8.10"/>
|
|
<title>3D Beam Finite Element Code: include/threed_beam_fea.h Source File</title>
|
|
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
<script type="text/javascript" src="jquery.js"></script>
|
|
<script type="text/javascript" src="dynsections.js"></script>
|
|
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
<script type="text/javascript" src="search/search.js"></script>
|
|
<script type="text/javascript">
|
|
$(document).ready(function() { init_search(); });
|
|
</script>
|
|
<script type="text/x-mathjax-config">
|
|
MathJax.Hub.Config({
|
|
extensions: ["tex2jax.js"],
|
|
jax: ["input/TeX","output/HTML-CSS"],
|
|
});
|
|
</script><script src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
|
|
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
</head>
|
|
<body>
|
|
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
<div id="titlearea">
|
|
<table cellspacing="0" cellpadding="0">
|
|
<tbody>
|
|
<tr style="height: 56px;">
|
|
<td id="projectlogo"><img alt="Logo" src="logo_64x64.png"/></td>
|
|
<td id="projectalign" style="padding-left: 0.5em;">
|
|
<div id="projectname">3D Beam Finite Element Code
|
|
 <span id="projectnumber">1.0</span>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<!-- end header part -->
|
|
<!-- Generated by Doxygen 1.8.10 -->
|
|
<script type="text/javascript">
|
|
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
|
</script>
|
|
<div id="navrow1" class="tabs">
|
|
<ul class="tablist">
|
|
<li><a href="index.html"><span>Main Page</span></a></li>
|
|
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
|
<li><a href="annotated.html"><span>Classes</span></a></li>
|
|
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
|
<li>
|
|
<div id="MSearchBox" class="MSearchBoxInactive">
|
|
<span class="left">
|
|
<img id="MSearchSelect" src="search/mag_sel.png"
|
|
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
alt=""/>
|
|
<input type="text" id="MSearchField" value="Search" accesskey="S"
|
|
onfocus="searchBox.OnSearchFieldFocus(true)"
|
|
onblur="searchBox.OnSearchFieldFocus(false)"
|
|
onkeyup="searchBox.OnSearchFieldChange(event)"/>
|
|
</span><span class="right">
|
|
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
|
|
</span>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div id="navrow2" class="tabs2">
|
|
<ul class="tablist">
|
|
<li><a href="files.html"><span>File List</span></a></li>
|
|
<li><a href="globals.html"><span>File Members</span></a></li>
|
|
</ul>
|
|
</div>
|
|
<!-- window showing the filter options -->
|
|
<div id="MSearchSelectWindow"
|
|
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
</div>
|
|
|
|
<!-- iframe showing the search results (closed by default) -->
|
|
<div id="MSearchResultsWindow">
|
|
<iframe src="javascript:void(0)" frameborder="0"
|
|
name="MSearchResults" id="MSearchResults">
|
|
</iframe>
|
|
</div>
|
|
|
|
<div id="nav-path" class="navpath">
|
|
<ul>
|
|
<li class="navelem"><a class="el" href="dir_b28d62efa98f86b8b0fb08cf5c9b238d.html">include</a></li> </ul>
|
|
</div>
|
|
</div><!-- top -->
|
|
<div class="header">
|
|
<div class="headertitle">
|
|
<div class="title">threed_beam_fea.h</div> </div>
|
|
</div><!--header-->
|
|
<div class="contents">
|
|
<a href="threed__beam__fea_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> </div>
|
|
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment">// Copyright 2015. All rights reserved.</span></div>
|
|
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment">//</span></div>
|
|
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment">// Redistribution and use in source and binary forms, with or without</span></div>
|
|
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment">// modification, are permitted provided that the following conditions are met:</span></div>
|
|
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment">//</span></div>
|
|
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment">// * Redistributions of source code must retain the above copyright notice,</span></div>
|
|
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment">// this list of conditions and the following disclaimer.</span></div>
|
|
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment">// * Redistributions in binary form must reproduce the above copyright notice,</span></div>
|
|
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment">// this list of conditions and the following disclaimer in the documentation</span></div>
|
|
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">// and/or other materials provided with the distribution.</span></div>
|
|
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">//</span></div>
|
|
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"</span></div>
|
|
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment">// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></div>
|
|
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment">// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></div>
|
|
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment">// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE</span></div>
|
|
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment">// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></div>
|
|
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment">// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></div>
|
|
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></div>
|
|
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment">// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></div>
|
|
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment">// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></div>
|
|
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment">// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></div>
|
|
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">// POSSIBILITY OF SUCH DAMAGE.</span></div>
|
|
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">//</span></div>
|
|
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment">// Author: ryan.latture@gmail.com (Ryan Latture)</span></div>
|
|
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> </div>
|
|
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#ifndef THREED_BEAM_FEA_H</span></div>
|
|
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#define THREED_BEAM_FEA_H</span></div>
|
|
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> </div>
|
|
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#ifdef EIGEN_USE_MKL_ALL</span></div>
|
|
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include <Eigen/PardisoSupport></span></div>
|
|
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#else</span></div>
|
|
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> </div>
|
|
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#include <Eigen/SparseLU></span></div>
|
|
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> </div>
|
|
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor">#endif</span></div>
|
|
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> </div>
|
|
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="preprocessor">#include <Eigen/Core></span></div>
|
|
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="preprocessor">#include <Eigen/Geometry></span></div>
|
|
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="preprocessor">#include <Eigen/SparseCore></span></div>
|
|
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> </div>
|
|
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="preprocessor">#include <chrono></span></div>
|
|
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="preprocessor">#include <cmath></span></div>
|
|
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="preprocessor">#include <iostream></span></div>
|
|
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="preprocessor">#include <limits></span></div>
|
|
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> </div>
|
|
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="preprocessor">#include "<a class="code" href="containers_8h.html">containers.h</a>"</span></div>
|
|
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="preprocessor">#include "<a class="code" href="options_8h.html">options.h</a>"</span></div>
|
|
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="preprocessor">#include "<a class="code" href="summary_8h.html">summary.h</a>"</span></div>
|
|
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="preprocessor">#include "<a class="code" href="csv__parser_8h.html">csv_parser.h</a>"</span></div>
|
|
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> </div>
|
|
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="keyword">namespace </span><a class="code" href="namespacefea.html">fea</a> {</div>
|
|
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> </div>
|
|
<div class="line"><a name="l00065"></a><span class="lineno"><a class="line" href="namespacefea.html#ab78c368a6a71d4dd85184e0ab034bde6"> 65</a></span>  <span class="keyword">typedef</span> Eigen::Matrix<double, Eigen::Dynamic, Eigen::Dynamic> <a class="code" href="namespacefea.html#ab78c368a6a71d4dd85184e0ab034bde6">GlobalStiffMatrix</a>;</div>
|
|
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> </div>
|
|
<div class="line"><a name="l00070"></a><span class="lineno"><a class="line" href="namespacefea.html#ae6576c78eabdf80c7a1b2ab0a9046433"> 70</a></span>  <span class="keyword">typedef</span> Eigen::Matrix<double, 12, 12, Eigen::RowMajor> <a class="code" href="namespacefea.html#ae6576c78eabdf80c7a1b2ab0a9046433">LocalMatrix</a>;</div>
|
|
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> </div>
|
|
<div class="line"><a name="l00076"></a><span class="lineno"><a class="line" href="namespacefea.html#a0cab5016018de58ed55a874e7fee68ed"> 76</a></span>  <span class="keyword">typedef</span> Eigen::Matrix<double, Eigen::Dynamic, 1> <a class="code" href="namespacefea.html#a0cab5016018de58ed55a874e7fee68ed">ForceVector</a>;</div>
|
|
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> </div>
|
|
<div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="namespacefea.html#ab9a3b4734f69bd4a2a883d7b9bab5662"> 81</a></span>  <span class="keyword">typedef</span> Eigen::SparseMatrix<double> <a class="code" href="namespacefea.html#ab9a3b4734f69bd4a2a883d7b9bab5662">SparseMat</a>;</div>
|
|
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> </div>
|
|
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  <span class="keyword">inline</span> <span class="keywordtype">double</span> <a class="code" href="namespacefea.html#a22c94233f560b36c5e782d6e73cebae3">norm</a>(<span class="keyword">const</span> <a class="code" href="namespacefea.html#acea7372904bb1c5f0570e9a53cf6fba9">Node</a> &n1, <span class="keyword">const</span> <a class="code" href="namespacefea.html#acea7372904bb1c5f0570e9a53cf6fba9">Node</a> &n2);</div>
|
|
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> </div>
|
|
<div class="line"><a name="l00097"></a><span class="lineno"><a class="line" href="classfea_1_1_global_stiff_assembler.html"> 97</a></span>  <span class="keyword">class </span><a class="code" href="classfea_1_1_global_stiff_assembler.html">GlobalStiffAssembler</a> {</div>
|
|
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> </div>
|
|
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  <span class="keyword">public</span>:</div>
|
|
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> </div>
|
|
<div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="classfea_1_1_global_stiff_assembler.html#a1a880ef51b6dd2619ac3f4f510a726a2"> 105</a></span>  <a class="code" href="classfea_1_1_global_stiff_assembler.html#a1a880ef51b6dd2619ac3f4f510a726a2">GlobalStiffAssembler</a>() {</div>
|
|
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  Kelem.setZero();</div>
|
|
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  Klocal.setZero();</div>
|
|
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  Aelem.setZero();</div>
|
|
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  AelemT.setZero();</div>
|
|
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  SparseKelem.resize(12, 12);</div>
|
|
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  SparseKelem.reserve(40);</div>
|
|
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  };</div>
|
|
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> </div>
|
|
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  <span class="keywordtype">void</span> <a class="code" href="classfea_1_1_global_stiff_assembler.html#ae07a113c97d0aa76a6391b4697961875">operator()</a>(SparseMat &Kg, <span class="keyword">const</span> <a class="code" href="structfea_1_1_job.html">Job</a> &job, <span class="keyword">const</span> std::vector<Tie> &ties);</div>
|
|
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> </div>
|
|
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  <span class="keywordtype">void</span> <a class="code" href="classfea_1_1_global_stiff_assembler.html#aad75afc9ef363da11c60a9d84f190701">calcKelem</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i, <span class="keyword">const</span> <a class="code" href="structfea_1_1_job.html">Job</a> &job);</div>
|
|
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> </div>
|
|
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  <span class="keywordtype">void</span> <a class="code" href="classfea_1_1_global_stiff_assembler.html#a9c403407b2a17700bec9de277ae717d8">calcAelem</a>(<span class="keyword">const</span> Eigen::Vector3d &nx, <span class="keyword">const</span> Eigen::Vector3d &nz);</div>
|
|
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> </div>
|
|
<div class="line"><a name="l00149"></a><span class="lineno"><a class="line" href="classfea_1_1_global_stiff_assembler.html#a860467d39009b2cf45ec68cd799f5213"> 149</a></span>  LocalMatrix <a class="code" href="classfea_1_1_global_stiff_assembler.html#a860467d39009b2cf45ec68cd799f5213">getKelem</a>() {</div>
|
|
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  <span class="keywordflow">return</span> Kelem;</div>
|
|
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  }</div>
|
|
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> </div>
|
|
<div class="line"><a name="l00157"></a><span class="lineno"><a class="line" href="classfea_1_1_global_stiff_assembler.html#a37389168def7bc5993f1e49cd584e32c"> 157</a></span>  LocalMatrix <a class="code" href="classfea_1_1_global_stiff_assembler.html#a37389168def7bc5993f1e49cd584e32c">getAelem</a>() {</div>
|
|
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  <span class="keywordflow">return</span> Aelem;</div>
|
|
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  }</div>
|
|
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> </div>
|
|
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>  <span class="keyword">private</span>:</div>
|
|
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  LocalMatrix Kelem;</div>
|
|
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>  LocalMatrix Klocal;</div>
|
|
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  LocalMatrix Aelem;</div>
|
|
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>  LocalMatrix AelemT;</div>
|
|
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>  SparseMat SparseKelem;</div>
|
|
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  };</div>
|
|
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> </div>
|
|
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>  <span class="keywordtype">void</span> <a class="code" href="namespacefea.html#a9a7fec579a34d0fed8339237f2cfe994">loadBCs</a>(SparseMat &Kg, ForceVector &force_vec, <span class="keyword">const</span> std::vector<BC> &BCs, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> num_nodes);</div>
|
|
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> </div>
|
|
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>  <span class="keywordtype">void</span> <a class="code" href="namespacefea.html#adb99d60a0e4eb10e55a7c52044efb6e3">loadTies</a>(std::vector<Eigen::Triplet<double> > &triplets, <span class="keyword">const</span> std::vector<Tie> &ties);</div>
|
|
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> </div>
|
|
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> </div>
|
|
<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>  std::vector<std::vector<double> > <a class="code" href="namespacefea.html#ad101dfa486fc4d0bd848129ff2453139">computeTieForces</a>(<span class="keyword">const</span> std::vector<Tie> &ties,</div>
|
|
<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>  <span class="keyword">const</span> std::vector<std::vector<double> > &nodal_displacements);</div>
|
|
<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> </div>
|
|
<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>  <span class="keywordtype">void</span> <a class="code" href="namespacefea.html#af9e37d32f38ace35944f1e63f4a447fa">loadForces</a>(SparseMat &force_vec, <span class="keyword">const</span> std::vector<Force> &forces);</div>
|
|
<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> </div>
|
|
<div class="line"><a name="l00234"></a><span class="lineno"> 234</span>  Summary <a class="code" href="namespacefea.html#aca9724c7cab58b0671b29f3f4318e599">solve</a>(<span class="keyword">const</span> Job &job,</div>
|
|
<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>  <span class="keyword">const</span> std::vector<BC> &BCs,</div>
|
|
<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>  <span class="keyword">const</span> std::vector<Force> &forces,</div>
|
|
<div class="line"><a name="l00237"></a><span class="lineno"> 237</span>  <span class="keyword">const</span> std::vector<Tie> &ties,</div>
|
|
<div class="line"><a name="l00238"></a><span class="lineno"> 238</span>  <span class="keyword">const</span> Options &options);</div>
|
|
<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> } <span class="comment">// namespace fea</span></div>
|
|
<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> </div>
|
|
<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> <span class="preprocessor">#endif // THREED_BEAM_FEA_H</span></div>
|
|
<div class="ttc" id="classfea_1_1_global_stiff_assembler_html"><div class="ttname"><a href="classfea_1_1_global_stiff_assembler.html">fea::GlobalStiffAssembler</a></div><div class="ttdoc">Assembles the global stiffness matrix. </div><div class="ttdef"><b>Definition:</b> threed_beam_fea.h:97</div></div>
|
|
<div class="ttc" id="csv__parser_8h_html"><div class="ttname"><a href="csv__parser_8h.html">csv_parser.h</a></div></div>
|
|
<div class="ttc" id="classfea_1_1_global_stiff_assembler_html_a1a880ef51b6dd2619ac3f4f510a726a2"><div class="ttname"><a href="classfea_1_1_global_stiff_assembler.html#a1a880ef51b6dd2619ac3f4f510a726a2">fea::GlobalStiffAssembler::GlobalStiffAssembler</a></div><div class="ttdeci">GlobalStiffAssembler()</div><div class="ttdoc">Default constructor. </div><div class="ttdef"><b>Definition:</b> threed_beam_fea.h:105</div></div>
|
|
<div class="ttc" id="containers_8h_html"><div class="ttname"><a href="containers_8h.html">containers.h</a></div></div>
|
|
<div class="ttc" id="namespacefea_html_ae6576c78eabdf80c7a1b2ab0a9046433"><div class="ttname"><a href="namespacefea.html#ae6576c78eabdf80c7a1b2ab0a9046433">fea::LocalMatrix</a></div><div class="ttdeci">Eigen::Matrix< double, 12, 12, Eigen::RowMajor > LocalMatrix</div><div class="ttdef"><b>Definition:</b> threed_beam_fea.h:70</div></div>
|
|
<div class="ttc" id="summary_8h_html"><div class="ttname"><a href="summary_8h.html">summary.h</a></div></div>
|
|
<div class="ttc" id="classfea_1_1_global_stiff_assembler_html_a9c403407b2a17700bec9de277ae717d8"><div class="ttname"><a href="classfea_1_1_global_stiff_assembler.html#a9c403407b2a17700bec9de277ae717d8">fea::GlobalStiffAssembler::calcAelem</a></div><div class="ttdeci">void calcAelem(const Eigen::Vector3d &nx, const Eigen::Vector3d &nz)</div><div class="ttdoc">Updates the rotation and transposed rotation matrices. </div><div class="ttdef"><b>Definition:</b> threed_beam_fea.cpp:136</div></div>
|
|
<div class="ttc" id="namespacefea_html_a22c94233f560b36c5e782d6e73cebae3"><div class="ttname"><a href="namespacefea.html#a22c94233f560b36c5e782d6e73cebae3">fea::norm</a></div><div class="ttdeci">double norm(const Node &n1, const Node &n2)</div><div class="ttdoc">Calculates the distance between 2 nodes. </div><div class="ttdef"><b>Definition:</b> threed_beam_fea.cpp:49</div></div>
|
|
<div class="ttc" id="namespacefea_html_aca9724c7cab58b0671b29f3f4318e599"><div class="ttname"><a href="namespacefea.html#aca9724c7cab58b0671b29f3f4318e599">fea::solve</a></div><div class="ttdeci">Summary solve(const Job &job, const std::vector< BC > &BCs, const std::vector< Force > &forces, const std::vector< Tie > &ties, const Options &options)</div><div class="ttdoc">Solves the finite element analysis defined by the input Job, boundary conditions, and prescribed noda...</div><div class="ttdef"><b>Definition:</b> threed_beam_fea.cpp:378</div></div>
|
|
<div class="ttc" id="classfea_1_1_global_stiff_assembler_html_a860467d39009b2cf45ec68cd799f5213"><div class="ttname"><a href="classfea_1_1_global_stiff_assembler.html#a860467d39009b2cf45ec68cd799f5213">fea::GlobalStiffAssembler::getKelem</a></div><div class="ttdeci">LocalMatrix getKelem()</div><div class="ttdoc">Returns the currently stored elemental stiffness matrix. </div><div class="ttdef"><b>Definition:</b> threed_beam_fea.h:149</div></div>
|
|
<div class="ttc" id="namespacefea_html_a9a7fec579a34d0fed8339237f2cfe994"><div class="ttname"><a href="namespacefea.html#a9a7fec579a34d0fed8339237f2cfe994">fea::loadBCs</a></div><div class="ttdeci">void loadBCs(SparseMat &Kg, ForceVector &force_vec, const std::vector< BC > &BCs, unsigned int num_nodes)</div><div class="ttdoc">Loads the boundary conditions into the global stiffness matrix and force vector. </div></div>
|
|
<div class="ttc" id="namespacefea_html_ab78c368a6a71d4dd85184e0ab034bde6"><div class="ttname"><a href="namespacefea.html#ab78c368a6a71d4dd85184e0ab034bde6">fea::GlobalStiffMatrix</a></div><div class="ttdeci">Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > GlobalStiffMatrix</div><div class="ttdef"><b>Definition:</b> threed_beam_fea.h:65</div></div>
|
|
<div class="ttc" id="namespacefea_html_adb99d60a0e4eb10e55a7c52044efb6e3"><div class="ttname"><a href="namespacefea.html#adb99d60a0e4eb10e55a7c52044efb6e3">fea::loadTies</a></div><div class="ttdeci">void loadTies(std::vector< Eigen::Triplet< double > > &triplets, const std::vector< Tie > &ties)</div><div class="ttdoc">Loads any tie constraints into the set of triplets that will become the global stiffness matrix...</div><div class="ttdef"><b>Definition:</b> threed_beam_fea.cpp:309</div></div>
|
|
<div class="ttc" id="namespacefea_html_ab9a3b4734f69bd4a2a883d7b9bab5662"><div class="ttname"><a href="namespacefea.html#ab9a3b4734f69bd4a2a883d7b9bab5662">fea::SparseMat</a></div><div class="ttdeci">Eigen::SparseMatrix< double > SparseMat</div><div class="ttdef"><b>Definition:</b> threed_beam_fea.h:81</div></div>
|
|
<div class="ttc" id="classfea_1_1_global_stiff_assembler_html_a37389168def7bc5993f1e49cd584e32c"><div class="ttname"><a href="classfea_1_1_global_stiff_assembler.html#a37389168def7bc5993f1e49cd584e32c">fea::GlobalStiffAssembler::getAelem</a></div><div class="ttdeci">LocalMatrix getAelem()</div><div class="ttdoc">Returns the currently stored rotation matrix. </div><div class="ttdef"><b>Definition:</b> threed_beam_fea.h:157</div></div>
|
|
<div class="ttc" id="classfea_1_1_global_stiff_assembler_html_aad75afc9ef363da11c60a9d84f190701"><div class="ttname"><a href="classfea_1_1_global_stiff_assembler.html#aad75afc9ef363da11c60a9d84f190701">fea::GlobalStiffAssembler::calcKelem</a></div><div class="ttdeci">void calcKelem(unsigned int i, const Job &job)</div><div class="ttdoc">Updates the elemental stiffness matrix for the ith element. </div><div class="ttdef"><b>Definition:</b> threed_beam_fea.cpp:54</div></div>
|
|
<div class="ttc" id="namespacefea_html_af9e37d32f38ace35944f1e63f4a447fa"><div class="ttname"><a href="namespacefea.html#af9e37d32f38ace35944f1e63f4a447fa">fea::loadForces</a></div><div class="ttdeci">void loadForces(SparseMat &force_vec, const std::vector< Force > &forces)</div><div class="ttdoc">Loads the prescribed forces into the force vector. </div><div class="ttdef"><b>Definition:</b> threed_beam_fea.cpp:368</div></div>
|
|
<div class="ttc" id="namespacefea_html_ad101dfa486fc4d0bd848129ff2453139"><div class="ttname"><a href="namespacefea.html#ad101dfa486fc4d0bd848129ff2453139">fea::computeTieForces</a></div><div class="ttdeci">std::vector< std::vector< double > > computeTieForces(const std::vector< Tie > &ties, const std::vector< std::vector< double > > &nodal_displacements)</div><div class="ttdoc">Computes the forces in the tie elements based on the nodal displacements of the FE analysis and the s...</div><div class="ttdef"><b>Definition:</b> threed_beam_fea.cpp:343</div></div>
|
|
<div class="ttc" id="namespacefea_html_acea7372904bb1c5f0570e9a53cf6fba9"><div class="ttname"><a href="namespacefea.html#acea7372904bb1c5f0570e9a53cf6fba9">fea::Node</a></div><div class="ttdeci">Eigen::Vector3d Node</div><div class="ttdoc">A node that describes a mesh. Uses Eigen's predefined Vector class for added functionality. </div><div class="ttdef"><b>Definition:</b> containers.h:56</div></div>
|
|
<div class="ttc" id="structfea_1_1_job_html"><div class="ttname"><a href="structfea_1_1_job.html">fea::Job</a></div><div class="ttdoc">Contains a node list, element list, and the properties of each element. </div><div class="ttdef"><b>Definition:</b> containers.h:246</div></div>
|
|
<div class="ttc" id="namespacefea_html_a0cab5016018de58ed55a874e7fee68ed"><div class="ttname"><a href="namespacefea.html#a0cab5016018de58ed55a874e7fee68ed">fea::ForceVector</a></div><div class="ttdeci">Eigen::Matrix< double, Eigen::Dynamic, 1 > ForceVector</div><div class="ttdef"><b>Definition:</b> threed_beam_fea.h:76</div></div>
|
|
<div class="ttc" id="options_8h_html"><div class="ttname"><a href="options_8h.html">options.h</a></div></div>
|
|
<div class="ttc" id="namespacefea_html"><div class="ttname"><a href="namespacefea.html">fea</a></div><div class="ttdef"><b>Definition:</b> containers.h:41</div></div>
|
|
<div class="ttc" id="classfea_1_1_global_stiff_assembler_html_ae07a113c97d0aa76a6391b4697961875"><div class="ttname"><a href="classfea_1_1_global_stiff_assembler.html#ae07a113c97d0aa76a6391b4697961875">fea::GlobalStiffAssembler::operator()</a></div><div class="ttdeci">void operator()(SparseMat &Kg, const Job &job, const std::vector< Tie > &ties)</div><div class="ttdoc">Assembles the global stiffness matrix. </div><div class="ttdef"><b>Definition:</b> threed_beam_fea.cpp:226</div></div>
|
|
</div><!-- fragment --></div><!-- contents -->
|
|
<!-- start footer part -->
|
|
<hr class="footer"/><address class="footer"><small>
|
|
Generated on Mon Nov 9 2015 11:57:00 for 3D Beam Finite Element Code by  <a href="http://www.doxygen.org/index.html">
|
|
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
|
</a> 1.8.10
|
|
</small></address>
|
|
</body>
|
|
</html>
|