Patch Command: Difference between revisions

From OpenSeesWiki
Jump to navigation Jump to search
No edit summary
No edit summary
 
(9 intermediate revisions by 4 users not shown)
Line 6: Line 6:
The following is the command to generate a quadrilateral shaped patch (the geometry of the patch is defined by four vertices: I J K L. The coordinates of each of the four vertices is specified in COUNTER CLOCKWISE sequence):
The following is the command to generate a quadrilateral shaped patch (the geometry of the patch is defined by four vertices: I J K L. The coordinates of each of the four vertices is specified in COUNTER CLOCKWISE sequence):


{| style="background:yellow; color:black; width:800px"  
{| style="background:lime; color:black; width:800px"  
| '''patch quad $matTag $numSubdivIJ $numSubdivJK $yI $zI $yJ $zJ $yK $zK $yL $zL'''
| '''patch quad $matTag $numSubdivIJ $numSubdivJK $yI $zI $yJ $zJ $yK $zK $yL $zL'''
|}
|}


{|
{|
|  style="width:150px" | '''$matTag''' || tag of previously defined UniaxialMateral
|  style="width:150px" | '''$matTag''' || tag of previously defined material (UniaxialMaterial tag for a FiberSection or NDMaterial tag for use in an NDFiberSection)
|-
|-
| '''$numSubdivIJ''' || number of subdivisions (fibers) in the IJ direction.
| '''$numSubdivIJ''' || number of subdivisions (fibers) in the IJ direction.
Line 32: Line 32:




The following is the command to generate a rectangular patch. The geometry of the patch is defined by coordinates of vertices: I and J. The first vertex, I, is the bottom-left point and the second vertex, J, is the top-right point, having as a reference the local y-z plane (look at the sketch bellow).  
The following is the command to generate a rectangular patch. The geometry of the patch is defined by coordinates of vertices I and J. To ensure positive fiber areas are created, (zJ-zI)/(yJ-yI) should be positive.


{| style="background:yellow; color:black; width:800px"  
{| style="background:lime; color:black; width:800px"  
| '''patch rect $matTag $numSubdivY $numSubdivZ $yI $zI $yJ $zJ'''
| '''patch rect $matTag $numSubdivY $numSubdivZ $yI $zI $yJ $zJ'''
|}
|}


{|
{|
|  style="width:150px" | '''$matTag''' || tag of previously defined UniaxialMateral
|  style="width:150px" | '''$matTag''' || tag of previously defined material (UniaxialMaterial tag for a FiberSection or NDMaterial tag for use in an NDFiberSection)
|-
|-
| '''$numSubdivY''' || number of subdivisions (fibers) in the local y direction.
| '''$numSubdivY''' || number of subdivisions (fibers) in the local y direction.
Line 50: Line 50:
|}
|}


[[Image:PatchRect.GIF]]


----
----
Line 55: Line 56:
The following is the command to generate a circular shaped patch:
The following is the command to generate a circular shaped patch:


{| style="background:yellow; color:black; width:800px"  
{| style="background:lime; color:black; width:800px"  
| '''patch circ $matTag $numSubdivCirc $numSubdivRad $yCenter $zCenter $intRad $extRad <$startAng $endAng>'''
| '''patch circ $matTag $numSubdivCirc $numSubdivRad $yCenter $zCenter $intRad $extRad $startAng $endAng'''
|}
|}




{|
{|
|  style="width:150px" | '''$matTag''' || tag of previously defined UniaxialMaterial
|  style="width:150px" | '''$matTag''' || tag of previously defined material (UniaxialMaterial tag for a FiberSection or NDMaterial tag for use in an NDFiberSection)
|-
|-
| '''$numSubdivCirc''' || number of subdivisions (fibers) in the circumferential direction
| '''$numSubdivCirc''' || number of subdivisions (fibers) in the circumferential direction (number of wedges)
|-
|-
| '''$numSubdivRad''' || number of subdivisions (fibers) in the radial direction.
| '''$numSubdivRad''' || number of subdivisions (fibers) in the radial direction (number of rings)
|-
|-
| '''$yCenter $zCenter''' || y & z-coordinates of the center of the circle
| '''$yCenter $zCenter''' || y & z-coordinates of the center of the circle
Line 73: Line 74:
| '''$extRad''' || external radius
| '''$extRad''' || external radius
|-
|-
| '''$startAng''' || starting angle (optional. default=0.0)
| '''$startAng''' || starting angle
|-
|-
| '''$endAng''' || ending angle (optional. default=360.0)
| '''$endAng''' || ending angle
|}
|}


Line 92: Line 93:
EXAMPLE:
EXAMPLE:


patch circ $coreMatTag 8 8 0.0 0.0 0.0 $h; # define solid circular section with 64 fibers with radiues $h using $coreMatTag material
patch circ $coreMatTag 8 8 0.0 0.0 0.0 $h; # define solid circular section with 64 fibers with radius $h using $coreMatTag material


patch quad $coreMatTag 8 8 -$b -$h $b -$h $b $h -$b $h; # define core patch with 8 subdivisions within a rectange of width 2b and depth 2h
patch quad $coreMatTag 8 8 -$b -$h $b -$h $b $h -$b $h; # define core patch with 8 subdivisions within a rectangle of width 2b and depth 2h


----
----

Latest revision as of 17:12, 5 June 2022




The patch command is used to generate a number of fibers over a cross-sectional area. Currently there are three types of cross-section that fibers can be generated: quadrilateral, rectangular and circular.


The following is the command to generate a quadrilateral shaped patch (the geometry of the patch is defined by four vertices: I J K L. The coordinates of each of the four vertices is specified in COUNTER CLOCKWISE sequence):

patch quad $matTag $numSubdivIJ $numSubdivJK $yI $zI $yJ $zJ $yK $zK $yL $zL
$matTag tag of previously defined material (UniaxialMaterial tag for a FiberSection or NDMaterial tag for use in an NDFiberSection)
$numSubdivIJ number of subdivisions (fibers) in the IJ direction.
$numSubdivJK number of subdivisions (fibers) in the JK direction.
$yI $zI y & z-coordinates of vertex I (local coordinate system)
$yJ $zJ y & z-coordinates of vertex J (local coordinate system)
$yK $zK y & z-coordinates of vertex K (local coordinate system)
$yL $zL y & z-coordinates of vertex L (local coordinate system)




The following is the command to generate a rectangular patch. The geometry of the patch is defined by coordinates of vertices I and J. To ensure positive fiber areas are created, (zJ-zI)/(yJ-yI) should be positive.

patch rect $matTag $numSubdivY $numSubdivZ $yI $zI $yJ $zJ
$matTag tag of previously defined material (UniaxialMaterial tag for a FiberSection or NDMaterial tag for use in an NDFiberSection)
$numSubdivY number of subdivisions (fibers) in the local y direction.
$numSubdivZ number of subdivisions (fibers) in the local z direction.
$yI $zI y & z-coordinates of vertex I (local coordinate system)
$yJ $zJ y & z-coordinates of vertex J (local coordinate system)


The following is the command to generate a circular shaped patch:

patch circ $matTag $numSubdivCirc $numSubdivRad $yCenter $zCenter $intRad $extRad $startAng $endAng


$matTag tag of previously defined material (UniaxialMaterial tag for a FiberSection or NDMaterial tag for use in an NDFiberSection)
$numSubdivCirc number of subdivisions (fibers) in the circumferential direction (number of wedges)
$numSubdivRad number of subdivisions (fibers) in the radial direction (number of rings)
$yCenter $zCenter y & z-coordinates of the center of the circle
$intRad internal radius
$extRad external radius
$startAng starting angle
$endAng ending angle



NOTES:




EXAMPLE:

patch circ $coreMatTag 8 8 0.0 0.0 0.0 $h; # define solid circular section with 64 fibers with radius $h using $coreMatTag material

patch quad $coreMatTag 8 8 -$b -$h $b -$h $b $h -$b $h; # define core patch with 8 subdivisions within a rectangle of width 2b and depth 2h



Code Developed by: Remo M. De Souza