PFEM Analysis: Difference between revisions

From OpenSeesWiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 1: Line 1:
* '''PFEM2D discretize Rectangle $startNodeTag $X1 $Y1 $hx $hy $angle $Nx $Ny $Ndf <-fix $fixList -mass $massList -vel $velList -boundary $boundaryList>'''
[[FSI | < Back]]
** Discretizes a rectangular area in to nodes for subsequent triangulation and PFEM analysis
** '''startNodeTag''' -- tag of the first node that is created
** '''X1 Y1''' -- global X and Y coordinates of the lower left corner of the rectangle
** '''hx hy''' -- division length in the local x and y directions of the rectangle
** '''angle''' -- angle of rotation between the local x axis of the rectangle and the global X axis
** '''Nx Ny''' -- number of divisions in the local x and y directions of the rectangle
** '''Ndf''' -- number of degrees of freedom for each node that is created
** '''fixList''' -- list of fixity values applied to all nodes that are created (1 = fixed, 0 = free, default = "0 0")
** '''massList''' -- list of mass values applied to all nodes that are created (default = "0 0")
** '''velList''' -- list of initial velocity applied to all nodes that are created (default = "0 0")
** '''boundaryList''' -- list of codes for including boundary nodes on the sides of the rectangle (1 = include, 0 = omit, default = "1 1 1 1")
** The return value from this command is the tag of the last node created




* '''PFEM2D fluid $nodeList <-append>'''
'''analysis'''(''regTag[, '-ele', e1, e2, ...][, '-eleRange', e1, e2, ...][, '-node', nd1, nd2, ...][, '-nodeRange', nd1, nd2][, '-rayleigh', alphaM, betaK, betaKinit, betaKcomm][, 'getNodeTags'][, 'getConnectedEleTags'][, 'getEleTags'][, '-mass', m1, m2, ...]'') <span id="pyregion"> ¶</span>
** Assigns nodes to be fluid nodes
** '''nodeList''' -- list containing the start and end nodes for assignment
** '''-append''' -- appends the nodes to the current set of fluid nodes (default = overwrites the current set)


<blockquote>an enhanced region command</blockquote>


* '''PFEM2D structure $nodeList <-append>'''
** Assigns nodes to be structure nodes
** '''nodeList''' -- list containing the start and end nodes for assignment
** '''-append''' -- appends the nodes to the current set of structure nodes (default = overwrites the current set)


 
{| class="wikitable"
* '''element PFEMElement2D $tag $ndI $ndJ $ndK $rho $mu $bX $bY <$thickness>'''
|-
** Creates a triangular fluid element for 2D PFEM analysis
! rowspan="10"| Parameters:
** '''tag''' -- idenifying element tag
|* '''regTag''' (''int'') -  a predefined or new region tag.
** '''ndI ndJ ndK''' -- connected element nodes (should be defined in counter-clockwise order around the element)
|-
** '''rho''' -- fluid density
|* ''''-ele', e1, e2, ...''' (''int'') –  the region is defined by elements e1, e2, .... If no tag is given, then all elements are added.
** '''mu''' -- fluid viscosity
|-
** '''bX bY''' -- body forces in the global X and Y directions
|* ''''-eleRange', e1, e2, ...''' (''int'') –  the region is defined by elements in the range [e1, e2].
** '''thickness''' -- out of plane element thickness (default = 1.0)
|-
 
|* ''''-node', nd1, nd2, ...''' (''int'') – the region is defined by nodes nd1, nd2, .... If no tag is given, then all nodes are added.
 
|-
* '''PFEM2D doTriangulation $alpha -nodes $nodeList -PFEMElement2D "$startEleTag $rho $mu $bX $bY <$thickness>"'''
|* ''''-nodeRange', nd1, nd2, ...''' (''int'') – the region is defined by nodes in the range [nd1 nd2].
** Triangulates the given nodes in to a mesh of fluid elements for 2D PFEM analysis
|-
** '''alpha''' -- alpha-shape parameter for identifying boundaries (usually between 1.4 and 1.5)
|* ''''-rayleigh', alphaM, betaK, betaKinit, betaKcomm ''' (''float'') – arguments as in [[rayleigh]] command.
** '''$nodeList''' -- list containing the start and end node tags for triangulation
|-
** '''$startEleTag''' -- tag of the first element that is created
|* ''''-getNodeTags'''' (''str'') –  return all node tags in the region.
** '''$rho $mu $bX $bY <$thickness>''' -- see '''PFEMElement2D''' command
|-
** The return value from this command is the tag of the last element created
|* ''''-getConnectedEleTags'''' (''str'') –  return all elements that connect to all nodes in the region.
 
|-
 
|* ''''-getEleTags'''' (''str'') –  return all elements that are added by mesh/remesh commands.
* '''analysis PFEM $dtmax $dtmin'''
|-
** Creates a PFEM analysis object
|* '''''-mass', m1, m2, ...'''' (''float'') –  set the nodal mass for all nodes in the region.
** '''dtmax dtmin''' -- the maximum and minimum time steps to be used during the analysis
|-
 
! |Returns:
 
| a list of node or element tags if ‘-getNodeTags’, ‘-getConnectedEleTags’, ‘-getEleTags’ are specified, otherwise, returns None.
''More commands will be documented soon''
|-
 
! |Return Type:
 
|
 
list(int) or None
Code maintained by: [http://web.engr.oregonstate.edu/~mhscott Michael H. Scott, Oregon State University]
|}

Revision as of 21:56, 30 June 2017

< Back


analysis(regTag[, '-ele', e1, e2, ...][, '-eleRange', e1, e2, ...][, '-node', nd1, nd2, ...][, '-nodeRange', nd1, nd2][, '-rayleigh', alphaM, betaK, betaKinit, betaKcomm][, 'getNodeTags'][, 'getConnectedEleTags'][, 'getEleTags'][, '-mass', m1, m2, ...])

an enhanced region command


Parameters: * regTag (int) - a predefined or new region tag.
* '-ele', e1, e2, ... (int) – the region is defined by elements e1, e2, .... If no tag is given, then all elements are added.
* '-eleRange', e1, e2, ... (int) – the region is defined by elements in the range [e1, e2].
* '-node', nd1, nd2, ... (int) – the region is defined by nodes nd1, nd2, .... If no tag is given, then all nodes are added.
* '-nodeRange', nd1, nd2, ... (int) – the region is defined by nodes in the range [nd1 nd2].
* '-rayleigh', alphaM, betaK, betaKinit, betaKcomm (float) – arguments as in rayleigh command.
* '-getNodeTags' (str) – return all node tags in the region.
* '-getConnectedEleTags' (str) – return all elements that connect to all nodes in the region.
* '-getEleTags' (str) – return all elements that are added by mesh/remesh commands.
* -mass', m1, m2, ...' (float) – set the nodal mass for all nodes in the region.
Returns: a list of node or element tags if ‘-getNodeTags’, ‘-getConnectedEleTags’, ‘-getEleTags’ are specified, otherwise, returns None.
Return Type:

list(int) or None