Table of Contents

11. Element Material Models - ShellProp,BeamProp,InterProp

Element materials are characterized by a material response which includes element geometry. These modules are used to define complex element geometry such as laminate constructions for shells and arbitrary cross sections for beams. An element material may combine one or more primitive materials with element type specific geometry. The ShellProp module is designed to provide an element material model for the Shell2D and Shell3D element formulation modules. The BeamProp module is designed to provide an element material model for the Beam3D element formulation module. The InterProp module is designed to provide an element material model for the Inter2D, Inter3D and Gap element modules.

Table of Contents

11.1 Shell Element Properties - ShellProp

The ShellProp module is used to define an element material for shell element formulations using the Shell2D and Shell3D modules. The element material includes thicknesses, shear factors, etc. Options exist for modelling monocoque, general integrated and preintegrated (so-called ABD matrix) shell wall constructions. The methods associated with a ShellProp object are the following.

Instance a ShellProp object using vfe_ShellPropBegin. Once a ShellProp object is instanced, define the element material type using vfe_ShellPropDef. Options exist for monocoque, general integrated, NASTRAN PSHELL, laminated, and general matrix input. Use vfe_ShellPropSetMonocoque to enter element properties for a monocoque, homogeneous, shell property type. Use vfe_ShellPropSetIntegrate to enter element properties at each of a user specified number of integration points through the thickness of the shell. Use vfe_ShellPropSetLaminate to enter laminate properties and use vfe_ShellPropSetPShell to enter NASTRAN PSHELL properties.

Use vfe_ShellPropSetMatrix to enter the ABD matrix of a general preintegrated matrix shell property type and vfe_ShellPropSetDensity to set the associated densities. Use vfe_ShellPropSetRefTemp and vfe_ShellPropSetThermExp to set the preintegrated reference temperature and coefficients of thermal expansion. Preintegrated properties in ShellProp may be temperature dependent. The current temperature for which preintegrated properties are to be defined is set using vfe_ShellPropSetTemp. All subsequently defined preintegrated properties are assumed to be at the current temperature.

Use vfe_ShellPropSetMatlFun to attach a primitive material to each material id required.

Use vfe_ShellPropMatlFun to fill a MatlFun object with function pointers which is then set in a shell element formulation object such as Shell3D using vfe_Shell3DSetObject. Destroy an instance of a ShellProp object using vfe_ShellPropEnd.

Table of Contents

11.2 Element Properties

The ShellProp module provides for three different types of shell properties, monocoque, general integrated and general matrix. Depending upon the shell property type the user may specify element properties such as thickness and effective shear factor. By default these properties are assumed to be constant over the shell surface. To achieve a variation of these properties over the shell surface the user may define an element property scale factor. The pointers to all element property nodal scale factors are set in the element formulation modules Shell2D or Shell3D using vfe_Shell2DSetPropPtr or vfe_Shell3DSetPropPtr respectively. The following notation and defined constants for shell wall properties are used:

Thk , VFE_PROP_THICKNESS, Thickness
Ks  , VFE_PROP_KS       , Shear factor
The default value for the thickness, Thk, is unity and for the shear factor, Ks, is 5/6.

 --   --   --                                            -- --   --
 | Nxx |   | D1                                           | | exx |
 | Nyy |   | D2    D3                                     | | eyy |
 | Nxy | = | D4    D5    D6                               | | gxy |
 | Mxx |   | D7    D8    D9    D10                        | | kxx |
 | Myy |   | D11   D12   D13   D14   D15                  | | kyy |
 | Mxy |   | D16   D17   D18   D19   D20   D21            | | kxy |
 | Qxz |   | 0.    0.    0.    0.    0.    0.    Q1       | | gxz |
 | Qyz |   | 0.    0.    0.    0.    0.    0.    Q2    Q3 | | gyz |
 --   --   --                                            -- --   --

Figure 11-1, Sign Conventions for Shell Stress Resultants
Note that if the right-hand rotations about the x,y,z axes are denoted by rx,ry,rz, then the curvatures, kxx,kyy,kxy, are given by:
   kxx =  ry,x
   kyy = -rx,y
   kxy =  ry,y - rx,x
Given this definition, the components of curvature, (kxx,kyy,kxy), do not transform as a tensor.

Temperatures are used if the effects of thermal expansion are to be included.

A table summarizing proper combinations of material type with possible element property nodal scale factors appears below.

     SetMonocoque    SetIntegrate   SetLaminate   SetPShell  SetMatrix
     -----------------------------------------------------------------
     Thk             Thk            Thk           Thk
     Ks
     -----------------------------------------------------------------

Table of Contents

11.3 Function Descriptions

The currently available ShellProp functions are described in detail in this section.


Table of Contents , ShellProp

NAME

*vfe_ShellPropBegin - create an instance of a ShellProp object

C SPECIFICATION

vfe_ShellProp *vfe_ShellPropBegin ()

ARGUMENTS

None

FUNCTION RETURN VALUE

The function returns a pointer to the newly created ShellProp object. If the object creation fails, NULL is returned.

DESCRIPTION

Create an instance of a ShellProp object. Memory is allocated for the object private data and the pointer to the object is returned. By default the element material model assumes a monocoque material of unit thickness and shear factor of 5/6, with a material orientation angle of zero, a 2 point Gaussian integration rule and material id of 1.

Destroy an instance of a ShellProp object using

     void vfe_ShellPropEnd (vfe_ShellProp *shellprop)

Return the current value of a ShellProp object error flag using

     Vint vfe_ShellPropError (vfe_ShellProp *shellprop)


Table of Contents , ShellProp

NAME

vfe_ShellPropDef - define property type

C SPECIFICATION

void vfe_ShellPropDef (vfe_ShellProp *shellprop,
                       Vint type)

INPUT ARGUMENTS

shellprop    Pointer to ShellProp object.
type         Shell material type
             =SHELLPROP_MONOCOQUE       Monocoque shell
             =SHELLPROP_INTEGRATE       General integrated shell
             =SHELLPROP_LAMINATE        Laminated shell
             =SHELLPROP_MATRIX          General matrix shell
             =SHELLPROP_PSHELL          NASTRAN PSHELL

OUTPUT ARGUMENTS

None

ERRORS

SYS_ERROR_ENUM is generated if an improper type is specified.

DESCRIPTION

Define the type of shell material to be specified. Use vfe_ShellPropSetMonocoque to input monocoque properties, vfe_ShellPropSetIntegrate to input integration properties and vfe_ShellPropSetLaminate to input laminate properties and vfe_ShellPropSetPShell to input NASTRAN PSHELL properties and vfe_ShellPropSetMatrix to input general matrix properties. By default the shell material type is SHELLPROP_MONOCOQUE.

Inquire of a defined type as an output argument using

     void vfe_ShellPropInq (vfe_ShellProp *shellprop,
                            Vint *type)


Table of Contents , ShellProp

NAME

vfe_ShellPropSetDensity - set preintegrated densities

C SPECIFICATION

void vfe_ShellPropSetDensity (vfe_ShellProp *shellprop,
                              Vdouble density[3])

INPUT ARGUMENTS

shellprop    Pointer to ShellProp object.
density      Array of preintegrated densities

OUTPUT ARGUMENTS

None

ERRORS

SYS_ERROR_VALUE is generated if an improper matid is specified.

DESCRIPTION

Set preintegrated densities associated with a general matrix shell property. The three densities are ordered as follows: the density per unit area followed by the first and second moments of the density with respect to the thickness coordinate of the shell. Use vfe_ShellPropSetMatrix to set the preintegrated elastic properties of the shell.


Table of Contents , ShellProp

NAME

vfe_ShellPropSetIntegrate - set general integration point properties

C SPECIFICATION

void vfe_ShellPropSetIntegrate (vfe_ShellProp *shellprop,
                                Vint nips,
                                Vdouble z[],
                                Vdouble t[],
                                Vdouble phi[],
                                Vint matid[])

INPUT ARGUMENTS

shellprop    Pointer to ShellProp object.
nips         Number of integration points, nips > 0.
z            Array of integration point coordinates relative to the
             shell reference surface.
t            Array of contributory thicknesses at each integration point.
phi          Array of material orientation angles in degrees
matid        Array of material id's, matid > 0.

OUTPUT ARGUMENTS

None

ERRORS

SYS_ERROR_VALUE is generated if an improper nips or matid is specified. SYS_ERROR_VALUE is generated if any member of t <= 0.

DESCRIPTION

Set integration properties for nips points through the thickness of the shell. The coordinates, z, are the distances of the integration points from the shell reference surface. The positive z direction is along the normal to the shell reference surface directed from the bottom to the top surface of the shell. The thicknesses, t, are the contributions of the integration points to the total thickness of the shell. The material orientations, phi, are right-hand rotations about the normal to the reference surface. A MatlFun object must be associated with each matid using vfe_ShellPropSetMatlFun.

The pointers to all element property nodal scale factors are set in the element formulation modules Shell2D or Shell3D using vfe_Shell2DSetPropPtr or vfe_Shell3DSetPropPtr respectively. Possible property scale factors are the following;

VFE_PROP_THICKNESS
VFE_PROP_KS
The thickness scale factor scales the z integration point coordinates.


Table of Contents , ShellProp

NAME

vfe_ShellPropSetLaminate - set laminate properties

C SPECIFICATION

void vfe_ShellPropSetLaminate (vfe_ShellProp *shellprop,
                               Vint nlayers,
                               Vdouble prop[],
                               Vint rule,
                               Vint nips[],
                               Vdouble t[],
                               Vdouble phi[],
                               Vint matid[])

INPUT ARGUMENTS

shellprop    Pointer to ShellProp object.
nlayers      Number of layers, nlayers > 0
prop         Array of properties
rule         Integration rule
             =SYS_RULE_GAUSS            Gauss quadrature rule
             =SYS_RULE_LOBATTO          Lobatto rule
             =SYS_RULE_SIMPSON          Simpson's rule
nips         Array of number of integration points per layer
t            Array of thicknesses per layer
phi          Array of material orientation angles in degrees
matid        Array of material ids, matid > 0.

OUTPUT ARGUMENTS

None

ERRORS

SYS_ERROR_VALUE is generated if an improper nlayers is specified. SYS_ERROR_VALUE is generated if an improper nips or matid is specified. SYS_ERROR_VALUE is generated if any member of t <= 0.

DESCRIPTION

Set laminate properties for nlayers layers through the thickness of the shell. The layers are entered in order from the shell bottom surface to the top surface. The material orientations, phi, are right-hand rotations about the normal to the reference surface. A MatlFun object must be associated with each matid using vfe_ShellPropSetMatlFun.

The wall property array, prop, contains the following:

prop[0] = Ecc

The pointers to all element property nodal scale factors are set in the element formulation modules Shell2D or Shell3D using vfe_Shell2DSetPropPtr or vfe_Shell3DSetPropPtr respectively. Possible property scale factors are the following;

VFE_PROP_THICKNESS
The thickness scale factor scales the t layer thickness values and the eccentricity property.


Table of Contents , ShellProp

NAME

vfe_ShellPropMatlFun - fill MatlFun object

C SPECIFICATION

void vfe_ShellPropMatlFun (vfe_ShellProp *shellprop,
                           vfe_MatlFun *matlfun)

INPUT ARGUMENTS

shellprop    Pointer to ShellProp object.
matlfun      Pointer to MatlFun object to be filled with material
             functions

OUTPUT ARGUMENTS

None

DESCRIPTION

Fill a MatlFun object with material model functions. Use the MatlFun object as an attribute object for any shell element formulation module, such as Shell3D.


Table of Contents , ShellProp

NAME

vfe_ShellPropSetMatlFun - set primitive material model

C SPECIFICATION

void vfe_ShellPropSetMatlFun (vfe_ShellProp *shellprop,
                              Vint matid,
                              vfe_MatlFun *matlfun)

INPUT ARGUMENTS

shellprop    Pointer to ShellProp object.
matid        Material id of primitive material
matlfun      Pointer to MatlFun object of primitive material model

OUTPUT ARGUMENTS

None

ERRORS

SYS_ERROR_VALUE is generated if an improper matid is specified.

DESCRIPTION

Set a primitive material associated with a material matid. There must be a call to this function to set the MatlFun object for each matid used in the shell property definition.


Table of Contents , ShellProp

NAME

vfe_ShellPropSetMatrix - set general matrix

C SPECIFICATION

void vfe_ShellPropSetMatrix (vfe_ShellProp *shellprop,
                             Vdouble abd[21],
                             Vdouble q[3])

INPUT ARGUMENTS

shellprop    Pointer to ShellProp object.
abd          Lower triangle of 6x6 membrane-bending matrix
q            Lower triangle of 2x2 transverse shear matrix

OUTPUT ARGUMENTS

None

DESCRIPTION

Set general matrix. The general matrix relates the shell stress resultants to the midsurface strains and curvatures. Use vfe_ShellPropSetDensity to set the preintegrated mass properties of the shell.


Table of Contents , ShellProp

NAME

vfe_ShellPropSetMonocoque - set monocoque properties

C SPECIFICATION

void vfe_ShellPropSetMonocoque (vfe_ShellProp *shellprop,
                                Vdouble prop[],
                                Vint nips,
                                Vint rule,
                                Vdouble phi,
                                Vint matid)

INPUT ARGUMENTS

shellprop    Pointer to ShellProp object.
prop         Array of properties
nips         Number of integration points, nips > 0
rule         Integration rule
             =SYS_RULE_GAUSS            Gauss quadrature rule
             =SYS_RULE_LOBATTO          Lobatto rule
             =SYS_RULE_SIMPSON          Simpson's rule
phi          Material orientation angle in degrees
matid        Material id, matid > 0.

OUTPUT ARGUMENTS

None

ERRORS

SYS_ERROR_VALUE is generated if an improper nips or matid is specified. SYS_ERROR_ENUM is generated if an improper rule is specified.

DESCRIPTION

Set monocoque properties. By default, phi is zero, rule is SYS_RULE_GAUSS with nips set to 2 and matid set to 1. The Lobatto integration rule is included specifically because it locates integration points on the top and bottom surfaces of the shell as well as in the interior of the shell. The Simpson's rule also locates integration points on the top and bottom surfaces of the shell and allow any odd number of points greater than 3. For the Gauss quadrature rule 1 <= nips <= 8, for the Lobatto rule 3 <= nips <= 8 and for the Simpson's rule 3 <= nips. A MatlFun object must be associated with matid using vfe_ShellPropSetMatlFun.

The wall property array, prop, contains the following:

prop[0] = Thk
prop[1] = Ks
The pointers to all element property nodal scale factors are set in the element formulation modules Shell2D or Shell3D using vfe_Shell2DSetPropPtr or vfe_Shell3DSetPropPtr respectively. Possible property scale factors are the following;

VFE_PROP_THICKNESS
VFE_PROP_KS


Table of Contents , ShellProp

NAME

vfe_ShellPropSetParami - set shell property parameters

C SPECIFICATION

void vfe_ShellPropSetParami (vfe_ShellProp *shellprop,
                           Vint type,
                           Vint iparam)

INPUT ARGUMENTS

shellprop    Pointer to ShellProp object.
type         Type of parameter to set
             =VFE_THERMALSTRAIN      Toggle thermal strains
             =VFE_THERMALEXPREF      Toggle reference temperature source
iparam       Integer parameter value.
             =SYS_OFF                Disable
             =SYS_ON                 Enable

OUTPUT ARGUMENTS

None

ERRORS

SYS_ERROR_ENUM is generated if an improper type is specified. SYS_ERROR_VALUE is generated if an improper iparam is specified.

DESCRIPTION

Set shell property parameters.

The parameter VFE_THERMALSTRAIN is used to toggle the calculation of thermal strains. By default VFE_THERMALSTRAIN is set to SYS_ON.

The source of the reference temperature used in thermal strain calculation is toggled by the VFE_THERMALEXPREF flag. If VFE_THERMALEXPREF is off then the reference temperature input with vfe_ShellPropSetRefTemp is used otherwise the reference temperature input by vfe_MatlFunProp with type VFE_PROP_TEMPREF is used, and the MatlFun object is the one referencing the ShellProp object. By default VFE_THERMALEXPREF is set to SYS_OFF.


Table of Contents , ShellProp

NAME

vfe_ShellPropSetPShell - set NASTRAN PSHELL properties

C SPECIFICATION

void vfe_ShellPropSetPShell (vfe_ShellProp *shellprop,
                             Vdouble prop[],
                             Vint matid[])

INPUT ARGUMENTS

shellprop    Pointer to ShellProp object.
prop         Array of properties
matid        Array of material ids

OUTPUT ARGUMENTS

None

ERRORS

SYS_ERROR_VALUE is generated if an improper matid is specified.

DESCRIPTION

Set NASTRAN PSHELL properties. This function is designed to specifically implement a shell wall as defined by the NASTRAN PSHELL bulk data entry.

The wall property array, prop, contains the following:

prop[0] = Thk, NASTRAN T
prop[1] = NASTRAN 12I/T3
prop[2] = NASTRAN TS/T

The pointers to all element property nodal scale factors are set in the element formulation modules Shell2D or Shell3D using vfe_Shell2DSetPropPtr or vfe_Shell3DSetPropPtr respectively. Possible property scale factors are the following;

VFE_PROP_THICKNESS
The thickness scale factor scales the Thk membrane thickness.

The material id array, matid, contains the following:

matid[0] = NASTRAN MID1
matid[1] = NASTRAN MID2
matid[2] = NASTRAN MID3
matid[3] = NASTRAN MID4
A MatlFun object must be associated with matid using vfe_ShellPropSetMatlFun.


Table of Contents , ShellProp

NAME

vfe_ShellPropSetRefTemp - set preintegrated reference temperature

C SPECIFICATION

void vfe_ShellPropSetRefTemp (vfe_ShellProp *shellprop,
                              Vdouble reftemp)

INPUT ARGUMENTS

shellprop    Pointer to ShellProp object.
reftemp      Reference temperature

OUTPUT ARGUMENTS

None

DESCRIPTION

Set preintegrated reference temperature. Use vfe_ShellPropSetThermExp to set the preintegrated coefficients of thermal expansion of the shell.


Table of Contents , ShellProp

NAME

vfe_ShellPropSetTemp - set temperature parameter

C SPECIFICATION

void vfe_ShellPropSetTemp (vfe_ShellProp *shellprop,
                           Vdouble temp)

INPUT ARGUMENTS

shellprop    Pointer to ShellProp object.
temp         Current temperature of defined preintegrated properties

OUTPUT ARGUMENTS

None

DESCRIPTION

Specify the current temperature for which all subsequent preintegrated element properties, until another call to vfe_ShellPropSetTemp is encountered, are defined.


Table of Contents , ShellProp

NAME

vfe_ShellPropSetStressStrain - set stress recovery points

C SPECIFICATION

void vfe_ShellPropSetStressStrain (vfe_ShellProp *shellprop,
                                   Vint numrec,
                                   Vdouble rec[])

INPUT ARGUMENTS

shellprop    Pointer to ShellProp object.
numrec       Number of recovery points
rec          Z location of recovery points

OUTPUT ARGUMENTS

None

DESCRIPTION

Set the list of stress recovery points to be used in vfe_MatlFunStressStrain for the stress and strain output. This function is only valid when vfe_ShellPropDef has been called with SHELLPROP_MATRIX or SHELLPROP_PSHELL. In all other cases the integration points through the thickness are used as the recovery points.


Table of Contents , ShellProp

NAME

vfe_ShellPropSetThermExp - set preintegrated thermal expansion

C SPECIFICATION

void vfe_ShellPropSetThermExp (vfe_ShellProp *shellprop,
                               Vdouble alpha[8])

INPUT ARGUMENTS

shellprop    Pointer to ShellProp object.
alpha        Vector of preintegrated coefficients of thermal expansion

OUTPUT ARGUMENTS

None

DESCRIPTION

Set preintegrated coefficients of thermal expansion Use vfe_ShellPropSetRefTemp to set the preintegrated reference temperature.


Table of Contents

11.4 Beam Element Properties - BeamProp

The BeamProp module is used to define an element material for beam element formulations using the Beam3D module. The element material includes area properties, shear factors, etc. Options exist for modelling general section, general integrated and and general matrix beam section constructions. The methods associated with a BeamProp object are the following.

Instance a BeamProp object using vfe_BeamPropBegin. Once a BeamProp object is instanced, define the element material type using vfe_BeamPropDef. Options exist for general section area properties, general integration point, and general matrix input. Use vfe_BeamPropSetSection to enter element area properties. Use vfe_BeamPropSetIntegrate to enter element properties at each of a user specified number of integration points across the cross section of the beam.

Use vfe_BeamPropSetMatrix to enter the preintegrated matrix of a general matrix beam property type and vfe_BeamPropSetDensity to set the associated densities. Use vfe_BeamPropSetRefTemp and vfe_BeamPropSetThermExp to set the preintegrated reference temperature and coefficients of thermal expansion. Preintegrated properties in BeamProp may be temperature dependent. The current temperature for which preintegrated properties are to be defined is set using vfe_BeamPropSetTemp. All subsequently defined preintegrated properties are assumed to be at the current temperature.

Use vfe_BeamPropSetMatlFun to attach a primitive material to each material id required.

Use vfe_BeamPropMatlFun to fill a MatlFun object with function pointers which is then set in a beam element formulation object such as Beam3D using vfe_Beam3DSetObject. Destroy an instance of a BeamProp object using vfe_BeamPropEnd.

Table of Contents

11.5 Element Properties

The BeamProp module provides for three different types of beam properties, general section, general integrated and general matrix. Depending upon the beam property type the user may specify element properties such as area, moments of inertia, effective shear factor, etc. By default these properties are assumed to be constant along the beam axis. To achieve a variation of these properties along the beam axis the user may define an element property scale factor. The pointers to all element property nodal scale factors are set in the element formulation module Beam3D using vfe_Beam3DSetPropPtr. The following notation and defined constants for area properties are used:

A   , VFE_PROP_AREA, Area
Iyy , VFE_PROP_IYY , Moment of inertia about centroidal y axis
Izz , VFE_PROP_IZZ , Moment of inertia about centroidal z axis
Iyz , VFE_PROP_IYZ , Product of inertia with respect to centroidal axes
J   , VFE_PROP_J   , Torsional constant about centroid
Ksy , VFE_PROP_KSY , Shear factor along y axis
Ksz , VFE_PROP_KSZ , Shear factor along z axis
Ksyz, VFE_PROP_KSYZ, Coupling shear factor.
Dsy , VFE_PROP_DSY , Shear center offset from centroid along y axis
Dsz , VFE_PROP_DSZ , Shear center offset from centroid along z axis
Thky, VFE_PROP_THICKNESSY, Thickness along y axis
Thkz, VFE_PROP_THICKNESSZ, Thickness along z axis
The default value for all area properties is unity except for the shear factors, Ksy and Ksz, which default to 5/6 and the shear center offsets which default to zero.

 --   --   --                                 -- --     --
 | Nxx |   | A1                                | | exx   |
 | Myy |   | A2    A3                          | | kyy   |
 | Mzz |   | A4    A5    A6                    | | kzz   |
 | T   |   | A7    A8    A9    A10             | | twist |
 | Qxy |   | A11   A12   A13   A14   A15       | | gxy   |
 | Qzx |   | A16   A17   A18   A19   A20   A21 | | gzx   |
 --   --   --                                 -- --     --

Figure 11-2, Sign Conventions for Beam Stress Resultants
The matrix quantities appear as follows for the case of zero shear center offset and axial-bending coupling where E is the elastic modulus and G is the shear modulus:

A1  = E * A
A3  = E * Iyy
A5  = E * Iyz
A6  = E * Izz
A10 = G * J
A15 = G * Ksy  * A
A20 = G * Ksyz * A
A21 = G * Ksz  * A
Note that if the right-hand rotations about the x,y,z axes are denoted by rx,ry,rz, then the twist, twist and curvatures, kyy,kzz are given by:
   twist =  rx,x
   kyy   =  ry,x
   kzz   = -rz,x

Temperatures are used if the effects of thermal expansion are to be included.

A table summarizing proper combinations of element formulation and material type with possible element property nodal scale factors appears below.

     SetSection     SetIntegrate    SetMatrix
     -------------------------------------------------------------
     A
     Iyy,Izz,Iyz
                    Thky,Thkz
     J              J
     Ksy,Ksz,Ksyz   Ksy,Ksz,Ksyz
     Dsy,Dsz        Dsy,Dsz
     -------------------------------------------------------------

Table of Contents

11.6 Function Descriptions

The currently available BeamProp functions are described in detail in this section.


Table of Contents , BeamProp

NAME

*vfe_BeamPropBegin - create an instance of a BeamProp object

C SPECIFICATION

vfe_BeamProp *vfe_BeamPropBegin ()

ARGUMENTS

None

FUNCTION RETURN VALUE

The function returns a pointer to the newly created BeamProp object. If the object creation fails, NULL is returned.

DESCRIPTION

Create an instance of a BeamProp object. Memory is allocated for the object private data and the pointer to the object is returned. By default the element material model assumes a general section material with unit area, moments of inertia and torsional constant, zero shear center offsets, and shear factors of 5/6 with a material id of 1.

Destroy an instance of a BeamProp object using

     void vfe_BeamPropEnd (vfe_BeamProp *beamprop)

Return the current value of a BeamProp object error flag using

     Vint vfe_BeamPropError (vfe_BeamProp *beamprop)


Table of Contents , BeamProp

NAME

vfe_BeamPropDef - define property type

C SPECIFICATION

void vfe_BeamPropDef (vfe_BeamProp *beamprop,
                      Vint type)

INPUT ARGUMENTS

beamprop     Pointer to BeamProp object.
type         Beam material type
             =BEAMPROP_INTEGRATE       General integrated beam property
             =BEAMPROP_SECTION         General section beam property
             =BEAMPROP_MATRIX          General matrix beam property

OUTPUT ARGUMENTS

None

ERRORS

SYS_ERROR_ENUM is generated if an improper type is specified.

DESCRIPTION

Define the type of beam material to be specified. Use vfe_BeamPropSetIntegrate to input integration point properties, vfe_BeamPropSetSection to input section properties and vfe_BeamPropSetMatrix to input general matrix properties. By default the beam material type is BEAMPROP_SECTION.

Inquire of a defined type as an output argument using

     void vfe_BeamPropInq (vfe_BeamProp *beamprop,
                           Vint *type)


Table of Contents , BeamProp

NAME

vfe_BeamPropMatlFun - fill MatlFun object

C SPECIFICATION

void vfe_BeamPropMatlFun (vfe_BeamProp *beamprop,
                          vfe_MatlFun *matlfun)

INPUT ARGUMENTS

beamprop     Pointer to BeamProp object.
matlfun      Pointer to MatlFun object to be filled with material
             functions

OUTPUT ARGUMENTS

None

DESCRIPTION

Fill a MatlFun object with material model functions. Use the MatlFun object as an attribute object for any beam element formulation module, such as Beam3D.


Table of Contents , BeamProp

NAME

vfe_BeamPropSetDensity - set preintegrated densities

C SPECIFICATION

void vfe_BeamPropSetDensity (vfe_BeamProp *beamprop,
                             Vdouble density[6])

INPUT ARGUMENTS

beamprop     Pointer to BeamProp object.
density      Array of preintegrated densities

OUTPUT ARGUMENTS

None

DESCRIPTION

Set preintegrated densities associated with a general matrix beam property. The six densities are ordered as follows: the density per unit length followed by the first and second moments of the density with respect to the beam section y coordinates followed by the first and second moments of the density with respect to the beam section z coordinates followed by the yz moment. Use vfe_BeamPropSetMatrix to set the preintegrated elastic properties of the beam.


Table of Contents , BeamProp

NAME

vfe_BeamPropSetIntegrate - set general integration point properties

C SPECIFICATION

void vfe_BeamPropSetIntegrate (vfe_BeamProp *beamprop,
                               Vdouble prop[],
                               Vint nips,
                               Vdouble yz[][2],
                               Vdouble area[],
                               Vint matid)

INPUT ARGUMENTS

beamprop     Pointer to BeamProp object.
prop         Array of properties
nips         Number of integration points, nips > 0.
yz           Array of integration point coordinates.
area         Array of contributory areas at each integration point.
matid        Material id, matid > 0.

OUTPUT ARGUMENTS

None

ERRORS

SYS_ERROR_VALUE is generated if an improper nips or matid is specified. SYS_ERROR_VALUE is generated if any member of area <= 0.

DESCRIPTION

Set section properties, prop and integration properties for nips points in the cross section of the beam. The coordinates, yz, are the coordinates of the integration points in the element coordinate system with its origin at the beam reference axis. The areas, area, are the contributions of the integration points to the total area of the beam cross section. A MatlFun object must be associated with matid using vfe_BeamPropSetMatlFun.

The section property array, prop, contains the following:

prop[0] = J
prop[1] = Ksy
prop[2] = Ksz
prop[3] = Ksyz
prop[4] = Dsy
prop[5] = Dsz
The pointers to all element property nodal scale factors are set in the element formulation module Beam3D using vfe_Beam3DSetPropPtr. Possible property scale factors are the following;

VFE_PROP_THICKNESSY, VFE_PROP_THICKNESSY
VFE_PROP_J
VFE_PROP_KSY, VFE_PROP_KSZ, VFE_PROP_KSZ
VFE_PROP_DSY, VFE_PROP_DSZ
The thickness scale factors scale the y' and z' integration point coordinates respectively.


Table of Contents , BeamProp

NAME

vfe_BeamPropSetMatlFun - set primitive material model

C SPECIFICATION

void vfe_BeamPropSetMatlFun (vfe_BeamProp *beamprop,
                             Vint matid,
                             vfe_MatlFun *matlfun)

INPUT ARGUMENTS

beamprop     Pointer to BeamProp object.
matid        Material id of primitive material
matlfun      Pointer to MatlFun object of primitive material model

OUTPUT ARGUMENTS

None

ERRORS

SYS_ERROR_VALUE is generated if an improper matid is specified.

DESCRIPTION

Set a primitive material associated with a material matid. There must be a call to this function to set the MatlFun object for each matid used in the beam property definition.


Table of Contents , BeamProp

NAME

vfe_BeamPropSetMatrix - set general matrix

C SPECIFICATION

void vfe_BeamPropSetMatrix (vfe_BeamProp *beamprop,
                            Vdouble dmat[21])

INPUT ARGUMENTS

beamprop     Pointer to BeamProp object.
dmat         Lower triangle of 6x6 material stiffness matrix

OUTPUT ARGUMENTS

None

DESCRIPTION

Set general matrix. The general matrix relates the beam stress resultants to the centroidal strains, twists and curvatures. Use vfe_BeamPropSetDensity to set the preintegrated mass properties of the beam.


Table of Contents , BeamProp

NAME

vfe_BeamPropSetSection - set general cross section area properties

C SPECIFICATION

void vfe_BeamPropSetSection (vfe_BeamProp *beamprop,
                             Vdouble prop[],
                             Vint matid)

INPUT ARGUMENTS

beamprop     Pointer to BeamProp object.
prop         Array of properties
matid        Material id

OUTPUT ARGUMENTS

None

DESCRIPTION

Set section properties, prop and general cross section area properties.

The section property array, prop, contains the following:

prop[0] = A
prop[1] = Iyy
prop[2] = Izz
prop[3] = Iyz
prop[4] = J
prop[5] = Ksy
prop[6] = Ksz
prop[7] = Ksyz
prop[8] = Dsy
prop[9] = Dsz
The pointers to all element property nodal scale factors are set in the element formulation module Beam3D using vfe_Beam3DSetPropPtr. Possible property scale factors are the following;

VFE_PROP_AREA
VFE_PROP_IYY, VFE_PROP_IZZ, VFE_PROP_IYZ
VFE_PROP_J
VFE_PROP_KSY, VFE_PROP_KSZ, VFE_PROP_KSZ
VFE_PROP_DSY, VFE_PROP_DSZ


Table of Contents , BeamProp

NAME

vfe_BeamPropSetParami - set beam property parameters

C SPECIFICATION

void vfe_BeamPropSetParami (vfe_BeamProp *beamprop,
                            Vint type,
                            Vint iparam)

INPUT ARGUMENTS

beamprop     Pointer to BeamProp object.
type         Type of parameter to set
             =VFE_THERMALSTRAIN      Toggle thermal strains
             =VFE_THERMALEXPREF      Toggle reference temperature source
iparam       Integer parameter value.
             =SYS_OFF                Disable
             =SYS_ON                 Enable

OUTPUT ARGUMENTS

None

ERRORS

SYS_ERROR_ENUM is generated if an improper type is specified. SYS_ERROR_VALUE is generated if an improper iparam is specified.

DESCRIPTION

Set beam property parameters.

The parameter VFE_THERMALSTRAIN is used to toggle the calculation of thermal strains. By default VFE_THERMALSTRAIN is set to SYS_ON.

The source of the reference temperature used in thermal strain calculation is toggled by the VFE_THERMALEXPREF flag. If VFE_THERMALEXPREF is off then the reference temperature input with vfe_LinMatSetRefTemp is used otherwise the reference temperature input by vfe_MatlFunProp with type VFE_PROP_TEMPREF is used, where the MatlFun object used is the one referencing the BeamProp object. By default VFE_THERMALEXPREF is set to SYS_OFF.


Table of Contents , BeamProp

NAME

vfe_BeamPropSetRefTemp - set preintegrated reference temperature

C SPECIFICATION

void vfe_BeamPropSetRefTemp (vfe_BeamProp *beamprop,
                             Vdouble reftemp)

INPUT ARGUMENTS

beamprop     Pointer to BeamProp object.
reftemp      Reference temperature

OUTPUT ARGUMENTS

None

DESCRIPTION

Set preintegrated reference temperature. Use vfe_BeamPropSetThermExp to set the preintegrated coefficients of thermal expansion of the beam.


Table of Contents , BeamProp

NAME

vfe_BeamPropSetStressStrain - set beam recovery points

C SPECIFICATION

void vfe_BeamPropSetStressStrain (vfe_BeamProp *shellprop,
                                  Vint numrec,
                                  Vdouble rec[][2])

INPUT ARGUMENTS

beamprop     Pointer to BeamProp object.
numrec       Number of recovery points
rec          Y-Z location of recovery points

OUTPUT ARGUMENTS

None

DESCRIPTION

Set the list of stress recovery points to be used in vfe_MatlFunStressStrain for the stress and strain output. This function is only valid when vfe_BeamPropDef has been called with BEAMPROP_MATRIX or BEAMPROP_SECTION. In all other cases the integration points through the cross section are used as the recovery points.


Table of Contents , BeamProp

NAME

vfe_BeamPropSetTemp - set temperature parameter

C SPECIFICATION

void vfe_BeamPropSetTemp (vfe_BeamProp *beamprop,
                          Vdouble temp)

INPUT ARGUMENTS

beamprop     Pointer to BeamProp object.
temp         Current temperature of defined preintegrated properties

OUTPUT ARGUMENTS

None

DESCRIPTION

Specify the current temperature for which all subsequent preintegrated element properties, until another call to vfe_BeamPropSetTemp is encountered, are defined.


Table of Contents , BeamProp

NAME

vfe_BeamPropSetThermExp - set preintegrated thermal expansion

C SPECIFICATION

void vfe_BeamPropSetThermExp (vfe_BeamProp *beamprop,
                              Vdouble alpha[6])

INPUT ARGUMENTS

beamprop     Pointer to BeamProp object.
alpha        Vector of preintegrated coefficients of thermal expansion

OUTPUT ARGUMENTS

None

DESCRIPTION

Set preintegrated coefficients of thermal expansion Use vfe_BeamPropSetRefTemp to set the preintegrated reference temperature.


Table of Contents

11.7 Interface and Gap Element Properties - InterProp

The InterProp module is used to define an element material for interface and gap element formulations using the Inter2D, Inter3D and Gap modules. The element material includes film coefficients and traction-relative displacement relationships. Current options exist for contact with and without friction in structural analysis and heat flux as a direct function of temperature difference in thermal analysis. The methods associated with a InterProp object are the following.

Instance a InterProp object using vfe_InterPropBegin. Once a InterProp object is instanced, define the element material type using vfe_InterPropDef. Options exist for contact with and without friction and sticking contact. The interface properties normal to the surface are input as some type of traction versus relative displacement curve. The structural contact types are as follows.

There are three functions for inputting the curve relating normal traction to normal relative displacement: vfe_InterPropSetNormPWLinear or vfe_InterPropSetNormBiLinear If a bilinear curve is specified using vfe_InterPropSetNormBiLinear the input arguments generate a traction, Tx, versus relative displacement, dx, as illustrated in Figure 11-3a.


Figure 11-3a, Bilinear Traction versus Relative Displacment Curve
If a piecewise linear curve is specified using vfe_InterPropSetNormPWLinear the traction, Tx, versus relative displacement, dx, curve is illustrated in Figure 11-3c.


Figure 11-3c, Piecewise Linear Traction versus Relative Displacment Curve
If friction is present, the coefficients of static and kinetic friction in each of the principal tangential directions are input using vfe_InterPropSetFriction. Note that a stress history must be maintained for either contact with sticking or contact with friction. Use the material function, vfe_MatlFunNumHist, to query the number of history variables used at a point.

The thermal analysis types are as follows.

Use vfe_InterPropSetFilmCoef to enter film coefficients for thermal analysis. Use vfe_InterPropSetEmissivity and vfe_InterPropSetStefanBoltzmann to set emissivity and the Stefan-Boltzmann contant for radiation effects. The current temperature for which properties are to be defined is set using vfe_InterPropSetTemp. All subsequently defined film coefficient properties are assumed to be at the current temperature.

Use vfe_InterPropMatlFun to fill a MatlFun object with function pointers which is then set in an interface or gap element formulation object such as Inter3D using vfe_Inter3DSetObject. Destroy an instance of a InterProp object using vfe_InterPropEnd.

Table of Contents

11.8 Element Properties

The pointers to all element properties are set in the element formulation modules Inter2D, Inter3D or Gap using vfe_Inter2DSetPropPtr, vfe_Inter3DSetPropPtr or vfe_GapSetPropPtr respectively. The only element property required is the temperature for temperature dependent material effects.

T , VFE_PROP_TEMPERATURE, Temperature
The default value for the temperature, T, is 0.

For structural analysis the InterProp module relates a vector of tractions, (Tx,Ty,Tz) to a vector of relative displacements (dx,dy,dz)

 --  --   --              -- --  --
 | Tx |   | A1             | | dx |
 | Ty |   | A2    A3       | | dy |
 | Tz | = | A4    A5    A6 | | dz |
 --  --   --              -- --  --
A surface normal interface properties relate Tx directly to dx through the traction-relative displacement curve.

For thermal analysis, the InterProp module relates a scalar heat flux, (q) to a scalar generalized temperature difference (dt)

     q = h*dt
Where h is the film coefficient.

Table of Contents

11.9 Function Descriptions

The currently available InterProp functions are described in detail in this section.


Table of Contents , InterProp

NAME

*vfe_InterPropBegin - create an instance of a InterProp object

C SPECIFICATION

vfe_InterProp *vfe_InterPropBegin ()

ARGUMENTS

None

FUNCTION RETURN VALUE

The function returns a pointer to the newly created InterProp object. If the object creation fails, NULL is returned.

DESCRIPTION

Create an instance of a InterProp object. Memory is allocated for the object private data and the pointer to the object is returned. By default the element material model assumes a slip material.

Destroy an instance of a InterProp object using

     void vfe_InterPropEnd (vfe_InterProp *interprop)

Return the current value of a InterProp object error flag using

     Vint vfe_InterPropError (vfe_InterProp *interprop)


Table of Contents , InterProp

NAME

vfe_InterPropDef - define property type

C SPECIFICATION

void vfe_InterPropDef (vfe_InterProp *interprop,
                       Vint type)

INPUT ARGUMENTS

interprop    Pointer to InterProp object.
type         Interface material type
             =INTERPROP_CONVECTION      Thermal convection
             =INTERPROP_RADIATION       Thermal radiation
             =INTERPROP_SLIP            Contact without friction
             =INTERPROP_NOSLIP          Contact with infinite friction
             =INTERPROP_STICK           Contact without release
             =INTERPROP_FRICTION        Contact with friction

OUTPUT ARGUMENTS

None

ERRORS

SYS_ERROR_ENUM is generated if an improper type is specified.

DESCRIPTION

Define the type of interface material to be specified. By default the interface material type is INTERPROP_SLIP. If INTERPROP_FRICTION is specified then the friction coefficients must be input using vfe_InterPropSetFriction.

If the stick or noslip options are specified then, during contact, infinite friction is indicated. In this case the tangential stiffness is set equal to the normal stiffness computed using the normal surface properties. If the stick option is specified then once contact occurs the surfaces are not allowed to separate even if a tensile normal traction develops.

Inquire of a defined type as an output argument using

     void vfe_InterPropInq (vfe_InterProp *interprop,
                            Vint *type)


Table of Contents , InterProp

NAME

vfe_InterPropSetNormBiLinear - set bilinear normal properties

C SPECIFICATION

void vfe_InterPropSetNormBiLinear (vfe_InterProp *interprop,
                                   Vdouble kn,
                                   Vdouble ka,
                                   Vdouble d0,
                                   Vdouble t0);

INPUT ARGUMENTS

interprop    Pointer to InterProp object.
kn           Normal stiffness for closed gap
ka           Ambient stiffness for open gap
d0           Initial gap opening
t0           Gap preload

OUTPUT ARGUMENTS

None

ERRORS

SYS_ERROR_VALUE is generated if an improper npts is specified.

DESCRIPTION

Define a bilinear traction-relative displacement relationship by specifing two slopes, the stiffnesses kn and ka of the closed and open gap, and the initial gap, d0, and associated preload, t0.


Table of Contents , InterProp

NAME

vfe_InterPropSetNormPWLinear - set piecewise linear normal properties

C SPECIFICATION

void vfe_InterPropSetNormPWLinear (vfe_InterProp *interprop,
                                   Vint npts,
                                   Vdouble d[],
                                   Vdouble t[])

INPUT ARGUMENTS

interprop    Pointer to InterProp object.
npts         Number of points in traction-relative displacement curve
d            Set of npts relative displacement values
t            Set of npts traction values

OUTPUT ARGUMENTS

None

ERRORS

SYS_ERROR_VALUE is generated if an improper npts is specified.

DESCRIPTION

Set values defining a piecewise linear traction-relative displacement curve with npts points.


Table of Contents , InterProp

NAME

vfe_InterPropSetFriction - set friction properties

C SPECIFICATION

void vfe_InterPropSetFriction (vfe_InterProp *interprop,
                               Vdouble kt,
                               Vdouble mustat[2],
                               Vdouble mukine[2])

INPUT ARGUMENTS

interprop    Pointer to InterProp object.
kt           Transverse stiffness
mustat       Coefficients of static friction in y' and z' directions
mukine       Coefficients of kinetic friction in y' and z' directions

OUTPUT ARGUMENTS

None

ERRORS

SYS_ERROR_VALUE is generated if an improper mustat or mukine is specified.

DESCRIPTION

Set tangential stiffness factor, kt, and coefficients of static and kinetic friction, mustat and mukine. The coefficients of friction can not be negative, in addition the coefficients of static friction can not be less than the associated coefficients of kinetic friction.


Table of Contents , InterProp

NAME

vfe_InterPropSetEmissivity - set emissivity

C SPECIFICATION

void vfe_InterPropSetEmissivity (vfe_InterProp *interprop,
                                 Vdouble emis)

INPUT ARGUMENTS

interprop    Pointer to InterProp object.
emis         Emissivity

OUTPUT ARGUMENTS

None

ERRORS

SYS_ERROR_VALUE is generated if an improper emis is specified.

DESCRIPTION

Set emissivity relating heat flux to generalized temperature difference for radiation effects. The emissivity can not be negative.


Table of Contents , InterProp

NAME

vfe_InterPropSetStefanBoltzmann - set Stefan Boltzmann constant

C SPECIFICATION

void vfe_InterPropSetStefanBoltzmann (vfe_InterProp *interprop,
                                      Vdouble sb)

INPUT ARGUMENTS

interprop    Pointer to InterProp object.
sb           Stefan Boltzmann constant

OUTPUT ARGUMENTS

None

DESCRIPTION

Set Stefan Boltzmann constant for radiation effects.


Table of Contents , InterProp

NAME

vfe_InterPropSetFilmCoef - set film coefficient

C SPECIFICATION

void vfe_InterPropSetFilmCoef (vfe_InterProp *interprop,
                               Vdouble filmcoef)

INPUT ARGUMENTS

interprop    Pointer to InterProp object.
filmcoef     Film coefficient.

OUTPUT ARGUMENTS

None

ERRORS

SYS_ERROR_VALUE is generated if an improper filmcoef is specified.

DESCRIPTION

Set film coefficient relating heat flux to generalized temperature difference. The film coefficient can not be negative.


Table of Contents , InterProp

NAME

vfe_InterPropMatlFun - fill MatlFun object

C SPECIFICATION

void vfe_InterPropMatlFun (vfe_InterProp *interprop,
                           vfe_MatlFun *matlfun)

INPUT ARGUMENTS

interprop    Pointer to InterProp object.
matlfun      Pointer to MatlFun object to be filled with material
             functions

OUTPUT ARGUMENTS

None

DESCRIPTION

Fill a MatlFun object with material model functions. Use the MatlFun object as an attribute object for any interface or gap element formulation module, such as Inter3D.


Table of Contents , InterProp

NAME

vfe_InterPropSetTemp - set temperature parameter

C SPECIFICATION

void vfe_InterPropSetTemp (vfe_InterProp *interprop,
                           Vdouble temp)

INPUT ARGUMENTS

interprop    Pointer to InterProp object.
temp         Current temperature of defined properties

OUTPUT ARGUMENTS

None

DESCRIPTION

Specify the current temperature for which all subsequent element film coefficient properties set using vfe_InterPropSetFilmCoef, until another call to vfe_InterPropSetTemp is encountered, are defined.