|
| 1 | +.. _MultiaxialFiber: |
| 2 | + |
| 3 | +MultiaxialFiber |
| 4 | +^^^^^^^^^^^^^^^ |
| 5 | + |
| 6 | +A ``MultiaxialFiber`` section is used to model a :ref:`Frame <frame>` section with shear deformation. |
| 7 | +The section is defined by a collection of fibers that discretize the cross-section. |
| 8 | + |
| 9 | +.. tabs:: |
| 10 | + |
| 11 | + .. tab:: Class |
| 12 | + |
| 13 | + .. py:class:: xara.FrameSection("MultiaxialFiber", shape, *, fibers) |
| 14 | + :noindex: |
| 15 | + |
| 16 | + Create a frame section that integrates the response of :py:class:`xara.UniaxialMaterial` objects distributed over the section shape. |
| 17 | + |
| 18 | + |
| 19 | + .. tab:: OpenSeesPy |
| 20 | + |
| 21 | + .. py:method:: Model.section("MultiaxialFiber", tag, **kwds) |
| 22 | + :no-index: |
| 23 | + |
| 24 | + :param tag: unique :ref:`section` tag |
| 25 | + :type tag: |integer| |
| 26 | + |
| 27 | + |
| 28 | + .. tab:: Tcl |
| 29 | + |
| 30 | + .. function:: section MultiaxialFiber $tag $fibers |
| 31 | + |
| 32 | + :param tag: unique section tag |
| 33 | + |
| 34 | + |
| 35 | +.. figure:: figures/w8x28.png |
| 36 | + :align: center |
| 37 | + :width: 50% |
| 38 | + |
| 39 | + Example of an AISC *W8x28* section discretized with fibers and rendered with `veux <https://veux.io>`__. |
| 40 | + |
| 41 | + |
| 42 | +The valid :ref:`eleResponse` queries are |
| 43 | + |
| 44 | +* ``"force"``, and |
| 45 | +* ``"deformation"``. |
| 46 | + |
| 47 | + |
| 48 | +Valid :ref:`setParameter` targets are |
| 49 | + |
| 50 | +- ``"warp", fiber, field`` where ``fiber`` is an |integer| identifying a fiber and ``field`` is an |integer| identifying the warping field. |
| 51 | + |
| 52 | + |
| 53 | +Examples |
| 54 | +-------- |
| 55 | + |
| 56 | +.. ref-gallery:: |
| 57 | + :tooltip: |
| 58 | + |
| 59 | + examples/sections/fiber-0002 |
| 60 | + |
| 61 | + |
| 62 | +.. The following example demonstrates how to create a ``MultiaxialFiber`` section representing a circle. |
| 63 | +
|
| 64 | +.. .. tabs:: |
| 65 | + |
| 66 | +.. .. tab:: Python |
| 67 | +
|
| 68 | +.. .. code-block:: Python |
| 69 | +
|
| 70 | +.. import xara |
| 71 | +.. from math import pi |
| 72 | +.. radius = 0.5 |
| 73 | +.. center = (0.0, 0.0) |
| 74 | +.. area = pi * radius**2 |
| 75 | +
|
| 76 | +.. model = xara.Model(ndm=3, ndf=6) |
| 77 | +
|
| 78 | +.. model.material("ElasticIsotropic", 1, E=200e9, nu=0.3) |
| 79 | +
|
| 80 | +.. model.section("MultiaxialFiber", 1) |
| 81 | +.. model.fiber(center, area, material=1, section=1) |
| 82 | +
|
| 83 | +.. .. tab:: Tcl |
| 84 | +
|
| 85 | +.. .. code-block:: Tcl |
| 86 | +
|
| 87 | +.. set radius 0.5 |
| 88 | +.. set center 0.0 0.0 |
| 89 | +.. set area [expr {acos(-1) * $radius**2}] |
| 90 | +
|
| 91 | +.. model create -ndm 3 -ndf 6 |
| 92 | +
|
| 93 | +.. nDMaterial ElasticIsotropic 1 200e9 0.3 |
| 94 | +
|
| 95 | +.. section ShearFiber 1 { |
| 96 | +.. fiber $center $area -material 1 |
| 97 | +.. } |
| 98 | +
|
| 99 | +
|
| 100 | +.. The following example uses the ``xsection`` library to create a ``MultiaxialFiber`` section representing an AISC *W8x28* section. |
| 101 | +
|
| 102 | +.. .. code-block:: Python |
| 103 | +
|
| 104 | +.. import xara |
| 105 | +.. from xara.units import english |
| 106 | +.. from xsection.library import from_aisc |
| 107 | +
|
| 108 | +.. model = xara.Model(ndm=3, ndf=6) |
| 109 | +
|
| 110 | +.. model.material("ElasticIsotropic", 1, E=200e9, nu=0.3) |
| 111 | +
|
| 112 | +.. shape = from_aisc("W8x28", units=english) |
| 113 | +
|
| 114 | +.. model.section("ShearFiber", 1) |
| 115 | +.. for fiber in shape.fibers: |
| 116 | +.. model.fiber(**fiber, material=1, section=1) |
| 117 | +
|
0 commit comments