mirror of
https://github.com/JuliaFEM/JuliaFEM.jl.git
synced 2026-08-17 10:59:08 +00:00
338 lines
13 KiB
HTML
338 lines
13 KiB
HTML
|
|
|
|
<!DOCTYPE html>
|
|
<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
|
|
<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
|
|
<title>JuliaFEM.elasticity_solver — JuliaFEM - A Finite Element Method Solver</title>
|
|
|
|
|
|
|
|
|
|
<link rel="shortcut icon" href="../_static/JuliaFEMLogo_32x32.png"/>
|
|
|
|
|
|
|
|
<link href='https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic|Roboto+Slab:400,700|Inconsolata:400,700&subset=latin,cyrillic' rel='stylesheet' type='text/css'>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
|
|
|
|
|
|
|
|
|
|
|
|
<link rel="top" title="JuliaFEM - A Finite Element Method Solver" href="../index.html"/>
|
|
<link rel="up" title="API Documentation" href="index.html"/>
|
|
<link rel="next" title="JuliaFEM.interfaces" href="JuliaFEM.interfaces.html"/>
|
|
<link rel="prev" title="JuliaFEM.abaqus_reader" href="JuliaFEM.abaqus_reader.html"/>
|
|
|
|
|
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/modernizr/2.6.2/modernizr.min.js"></script>
|
|
|
|
</head>
|
|
|
|
<body class="wy-body-for-nav" role="document">
|
|
|
|
<div class="wy-grid-for-nav">
|
|
|
|
|
|
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
|
|
<div class="wy-side-nav-search">
|
|
|
|
<a href="../index.html" class="fa fa-home"> JuliaFEM</a>
|
|
|
|
|
|
<div role="search">
|
|
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
|
|
<input type="text" name="q" placeholder="Search docs" />
|
|
<input type="hidden" name="check_keywords" value="yes" />
|
|
<input type="hidden" name="area" value="default" />
|
|
</form>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
|
|
|
|
|
|
|
|
<ul class="current">
|
|
<li class="toctree-l1"><a class="reference internal" href="../index.html">JuliaFEM</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="../tutorials/index.html">Tutorials</a></li>
|
|
<li class="toctree-l1 current"><a class="reference internal" href="index.html">API Documentation</a><ul class="current">
|
|
<li class="toctree-l2"><a class="reference internal" href="JuliaFEM.abaqus_reader.html">JuliaFEM.abaqus_reader</a></li>
|
|
<li class="toctree-l2 current"><a class="current reference internal" href="">JuliaFEM.elasticity_solver</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="JuliaFEM.interfaces.html">JuliaFEM.interfaces</a></li>
|
|
</ul>
|
|
</li>
|
|
<li class="toctree-l1"><a class="reference internal" href="../quality/index.html">Code quality</a><ul>
|
|
<li class="toctree-l2"><a class="reference internal" href="../quality/index.html#lint-report">Lint report</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="../quality/index.html#doctest-report">Doctest report</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="../quality/index.html#unittest-report">Unittest report</a></li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
</nav>
|
|
|
|
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
|
|
|
|
|
|
<nav class="wy-nav-top" role="navigation" aria-label="top navigation">
|
|
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
|
<a href="../index.html">JuliaFEM</a>
|
|
</nav>
|
|
|
|
|
|
|
|
<div class="wy-nav-content">
|
|
<div class="rst-content">
|
|
<div role="navigation" aria-label="breadcrumbs navigation">
|
|
<ul class="wy-breadcrumbs">
|
|
<li><a href="../index.html">Docs</a> »</li>
|
|
|
|
<li><a href="index.html">API Documentation</a> »</li>
|
|
|
|
<li>JuliaFEM.elasticity_solver</li>
|
|
<li class="wy-breadcrumbs-aside">
|
|
|
|
<a href="../_sources/api/JuliaFEM.elasticity_solver.txt" rel="nofollow"> View page source</a>
|
|
|
|
</li>
|
|
</ul>
|
|
<hr/>
|
|
</div>
|
|
<div role="main" class="document">
|
|
|
|
<div class="section" id="juliafem-elasticity-solver">
|
|
<h1>JuliaFEM.elasticity_solver<a class="headerlink" href="#juliafem-elasticity-solver" title="Permalink to this headline">¶</a></h1>
|
|
<div class="section" id="internal">
|
|
<h2>Internal<a class="headerlink" href="#internal" title="Permalink to this headline">¶</a></h2>
|
|
<dl class="function">
|
|
<dt id="assemble!">
|
|
<code class="descname">assemble!</code><span class="sig-paren">(</span><em>fe</em>, <em>eldofs_</em>, <em>I</em>, <em>V</em><span class="sig-paren">)</span><a class="headerlink" href="#assemble!" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Assemble global RHS to I,V ready for sparse format</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><p class="first"><strong>fe</strong> : local vector</p>
|
|
<p><strong>eldofs_</strong> : Array</p>
|
|
<blockquote>
|
|
<div><p>degrees of freedom</p>
|
|
</div></blockquote>
|
|
<p class="last"><strong>I,V</strong> : Arrays for sparse matrix</p>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<p class="rubric">Notes</p>
|
|
<p>eldofs can also be node ids for convenience. In that case dimension
|
|
is calculated and eldofs are “extended” to problem dimension.</p>
|
|
</dd></dl>
|
|
|
|
<dl class="function">
|
|
<dt>
|
|
<code class="descname">assemble!</code><span class="sig-paren">(</span><em>ke</em>, <em>eldofs_</em>, <em>I</em>, <em>J</em>, <em>V</em><span class="sig-paren">)</span></dt>
|
|
<dd><p>Assemble global stiffness matrix to I,J,V ready for sparse format</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><p class="first"><strong>ke</strong> : local matrix</p>
|
|
<p><strong>eldofs_</strong> : Array</p>
|
|
<blockquote>
|
|
<div><p>degrees of freedom</p>
|
|
</div></blockquote>
|
|
<p class="last"><strong>I,J,V</strong> : Arrays for sparse matrix</p>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<p class="rubric">Notes</p>
|
|
<p>eldofs can also be node ids for convenience. In that case dimension
|
|
is calculated and eldofs are “extended” to problem dimension.</p>
|
|
</dd></dl>
|
|
|
|
<dl class="function">
|
|
<dt id="calc_local_matrices!">
|
|
<code class="descname">calc_local_matrices!</code><span class="sig-paren">(</span><em>X</em>, <em>u</em>, <em>R</em>, <em>Kt</em>, <em>N</em>, <em>dNdchi</em>, <em>lambda_</em>, <em>mu_</em>, <em>ipoints</em>, <em>iweights</em><span class="sig-paren">)</span><a class="headerlink" href="#calc_local_matrices!" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Calculate local tangent stiffness matrix and residual force vector R = T - F</p>
|
|
</dd></dl>
|
|
|
|
<dl class="function">
|
|
<dt id="eliminate_boundary_conditions">
|
|
<code class="descname">eliminate_boundary_conditions</code><span class="sig-paren">(</span><em>dirichletbc</em>, <em>I</em>, <em>J</em>, <em>V</em><span class="sig-paren">)</span><a class="headerlink" href="#eliminate_boundary_conditions" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Eliminate Dirichlet boundary conditions from matrix</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><p class="first"><strong>dirichletbc</strong> : array [dim x nnodes]</p>
|
|
<p><strong>I, J, V</strong> : sparse matrix arrays</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first"><strong>I, J, V</strong> : boundary conditions removed</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Raises:</th><td class="field-body"><p class="first"><strong>Exception, if displacement boundary conditions given, i.e.</strong></p>
|
|
<p class="last"><strong>DX=2 for some node, for example.</strong></p>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<p class="rubric">Notes</p>
|
|
<p>pros:
|
|
- matrix assembly remains positive definite
|
|
cons:
|
|
- maybe inefficient because of extra sparse matrix operations. (It’s hard to remove stuff from sparse matrix.)
|
|
- if u != 0 in dirichlet boundary requires extra care</p>
|
|
</dd></dl>
|
|
|
|
<dl class="function">
|
|
<dt>
|
|
<code class="descname">eliminate_boundary_conditions</code><span class="sig-paren">(</span><em>dirichletbc</em>, <em>I</em>, <em>V</em><span class="sig-paren">)</span></dt>
|
|
<dd><p>Eliminate Dirichlet boundary conditions from vector</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><p class="first"><strong>dirichletbc</strong> : array [dim x nnodes]</p>
|
|
<p><strong>I, V</strong> : sparse vector arrays</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first"><strong>I, V</strong> : boundary conditions removed</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Raises:</th><td class="field-body"><p class="first"><strong>Exception, if displacement boundary conditions given, i.e.</strong></p>
|
|
<p class="last"><strong>DX=2 for some node, for example.</strong></p>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<p class="rubric">Notes</p>
|
|
<p>pros:
|
|
- matrix assembly remains positive definite
|
|
cons:
|
|
- maybe inefficient because of extra sparse matrix operations. (It’s hard to remove stuff from sparse matrix.)
|
|
- if u != 0 in dirichlet boundary requires extra care</p>
|
|
</dd></dl>
|
|
|
|
<dl class="function">
|
|
<dt id="interpolate{T<:Real}">
|
|
<code class="descname">interpolate{T<:Real}</code><span class="sig-paren">(</span><em>field::Array{T<:Real</em>, <em>1}</em>, <em>basis::Function</em>, <em>ip</em><span class="sig-paren">)</span><a class="headerlink" href="#interpolate{T<:Real}" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Interpolate field variable using basis functions f for point ip.
|
|
This function tries to be as general as possible and allows interpolating
|
|
lot of different fields.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><p class="first"><strong>field :: Array{Number, dim}</strong></p>
|
|
<blockquote>
|
|
<div><p>Field variable</p>
|
|
</div></blockquote>
|
|
<p><strong>basis :: Function</strong></p>
|
|
<blockquote>
|
|
<div><p>Basis functions</p>
|
|
</div></blockquote>
|
|
<p><strong>ip :: Array{Number, 1}</strong></p>
|
|
<blockquote class="last">
|
|
<div><p>Point to interpolate</p>
|
|
</div></blockquote>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="function">
|
|
<dt id="solve_elasticity_increment!">
|
|
<code class="descname">solve_elasticity_increment!</code><span class="sig-paren">(</span><em>X</em>, <em>u</em>, <em>du</em>, <em>elmap</em>, <em>nodalloads</em>, <em>dirichletbc</em>, <em>lambda</em>, <em>mu</em>, <em>N</em>, <em>dNdchi</em>, <em>ipoints</em>, <em>iweights</em><span class="sig-paren">)</span><a class="headerlink" href="#solve_elasticity_increment!" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Solve one increment of elasticity problem</p>
|
|
</dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
|
|
</div>
|
|
<footer>
|
|
|
|
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
|
|
|
|
<a href="JuliaFEM.interfaces.html" class="btn btn-neutral float-right" title="JuliaFEM.interfaces">Next <span class="fa fa-arrow-circle-right"></span></a>
|
|
|
|
|
|
<a href="JuliaFEM.abaqus_reader.html" class="btn btn-neutral" title="JuliaFEM.abaqus_reader"><span class="fa fa-arrow-circle-left"></span> Previous</a>
|
|
|
|
</div>
|
|
|
|
|
|
<hr/>
|
|
|
|
<div role="contentinfo">
|
|
<p>
|
|
Last updated on 2015-08-01 15:56:03.
|
|
</p>
|
|
</div>
|
|
|
|
Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
|
|
|
|
</footer>
|
|
</div>
|
|
</div>
|
|
|
|
</section>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
<script type="text/javascript">
|
|
var DOCUMENTATION_OPTIONS = {
|
|
URL_ROOT:'../',
|
|
VERSION:'0.0.1',
|
|
COLLAPSE_INDEX:false,
|
|
FILE_SUFFIX:'.html',
|
|
HAS_SOURCE: true
|
|
};
|
|
</script>
|
|
<script type="text/javascript" src="../_static/jquery.js"></script>
|
|
<script type="text/javascript" src="../_static/underscore.js"></script>
|
|
<script type="text/javascript" src="../_static/doctools.js"></script>
|
|
|
|
|
|
|
|
|
|
|
|
<script type="text/javascript" src="../_static/js/theme.js"></script>
|
|
|
|
|
|
|
|
|
|
<script type="text/javascript">
|
|
jQuery(function () {
|
|
SphinxRtdTheme.StickyNav.enable();
|
|
});
|
|
</script>
|
|
|
|
|
|
</body>
|
|
</html> |