Table of Contents

2. Automatic Case Generation - GenLCase,GenMCase

The modules GenLCase and GenMCase are provided automatically generate certain load and multipoint constraint cases.

Table of Contents

2.1 Generate Load Cases - GenLCase

The GenLCase module is designed to automatically generate certain types of load cases. For example a feature is provided to compute the distribution of load on a set of element faces arising from a concentrated load and moment applied at a point in space. The methods associated with a GenLCase object are the following.

Instance a GenLCase object using vfx_GenLCaseBegin. Use vfx_GenLCaseSetObject to register the current Model object. This gives GenLCase access to the model element connectivity and node coordinate information.

GenLCase can be used to distribute forces and moments at a point, termed an attachment point, to a collection of nodes. The nodes can be represented either as a group of element faces or element edges or as a group of individual nodes. The representation of the nodes as a group of element faces or edges is highly recommended if it is intended that the load be distributed as a line load or surface traction.

The process requires two steps for each attachment point. The first step is to specify the attachment point location and group of nodes to which the attachment point forces and moments are to be distributed. This specification is done using vfx_GenLCaseSetAttach. Each attachment point is given a user defined integer identifier. Any number of attachment points may be defined in this way. Once an attachment point is defined, load distributions may be calculated using vfx_GenLCaseAttach. The computed load distributions are added to an input LCase object as concentrated forces.

Destroy an instance of a GenLCase object using vfx_GenLCaseEnd.

Table of Contents

2.2 Function Descriptions

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


Table of Contents , GenLCase

NAME

*vfx_GenLCaseBegin - create an instance of a GenLCase object

C SPECIFICATION

vfx_GenLCase *vfx_GenLCaseBegin ()

ARGUMENTS

None

FUNCTION RETURN VALUE

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

DESCRIPTION

Create an instance of a GenLCase object. Memory is allocated for the object private data and the pointer to the object is returned.

Destroy an instance of a GenLCase object using

     void vfx_GenLCaseEnd (vfx_GenLCase *genlcase)

Return the current value of a GenLCase object error flag using

     Vint vfx_GenLCaseError (vfx_GenLCase *genlcase)


Table of Contents , GenLCase

NAME

vfx_GenLCaseAttach - compute attachment point load distribution

C SPECIFICATION

void vfx_GenLCaseAttach (vfx_GenLCase *genlcase,
                         Vint id,
                         Vdouble force[3],
                         Vdouble moment[3],
                         vis_LCase *lcase)

INPUT ARGUMENTS

genlcase     Pointer to GenLCase object.
id           Attachment point identifier, 1 <= id
force        Forces
moment       Moments
lcase        Pointer to LCase object to receive generated loads

OUTPUT ARGUMENTS

None

ERRORS

SYS_ERROR_NULLOBJECT is generated if a Model object has not been set. SYS_ERROR_VALUE is generated if an improper id is specified. SYS_ERROR_OPERATION is generated if the attachment point id has not been defined.

DESCRIPTION

Compute load distribution due to the specified force and moment applied to attachment point id. The resulting loads are added as concentrated loads to LCase. Use vfx_GenLCaseSetAttach to define the attachment point location and corresponding collection of nodes to which load is to be distributed.


Table of Contents , GenLCase

NAME

vfx_GenLCaseSetAttach - specify attachment point location

C SPECIFICATION

void vfx_GenLCaseSetAttach (vfx_GenLCase *genlcase,
                            Vint id,
                            Vdouble x[3],
                            vis_Group *group)

INPUT ARGUMENTS

genlcase     Pointer to GenLCase object.
id           Attachment point identifier, 1 <= id
x            Attachment point location
group        Pointer to Group object.

OUTPUT ARGUMENTS

None

ERRORS

SYS_ERROR_VALUE is generated if an improper id entry is specified.

DESCRIPTION

Specify the location, x, of an attachment point, id. The collection of nodes associated with the attachment point are specified in group which can be either an element face or edge group or a node group. If group is an element face group then the load is assumed to be distributed as a surface traction. If group is an element edge group then the load is assumed to be distributed as a line load. If group is a node group then the load is assumed to be distributed as a set of equally weighted individual concentrated force vectors.


Table of Contents , GenLCase

NAME

vfx_GenLCaseSetObject - set attribute objects

C SPECIFICATION

void vfx_GenLCaseSetObject (vfx_GenLCase *genlcase,
                            Vint objecttype,
                            Vobject *object)

INPUT ARGUMENTS

genlcase     Pointer to GenLCase object.
objecttype   The object type identifier
             =VIS_MODEL              Model object
object       Pointer to the object to be set.

OUTPUT ARGUMENTS

None

ERRORS

SYS_ERROR_OBJECTTYPE is generated if an improper objecttype is specified.

DESCRIPTION

Set a pointer to an attribute object. The Model object must be registered.


Table of Contents

2.3 Generate Multipoint Constraint Cases - GenMCase

The GenMCase module is designed to automatically generate certain types of multipoint constraint cases. For example a feature is provided to generate a set of statically determinant constraints for any singly connected body. The methods associated with a GenMCase object are the following.

Instance a GenMCase object using vfx_GenMCaseBegin. Use vfx_GenMCaseSetObject to register the current Model object. This gives GenMCase access to the model element connectivity and node coordinate information.

GenMCase can be used to generate a set of statically determinant constraints for an otherwise unconstrained singly connected body. This is a useful constraint set for applying inertia relief loads. Use vfx_GenMCaseIRelief to generate the constraints. The computed constraints are entered into an input MCase object as multipoint constraints.

Destroy an instance of a GenMCase object using vfx_GenMCaseEnd.

Table of Contents

2.4 Function Descriptions

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


Table of Contents , GenMCase

NAME

*vfx_GenMCaseBegin - create an instance of a GenMCase object

C SPECIFICATION

vfx_GenMCase *vfx_GenMCaseBegin ()

ARGUMENTS

None

FUNCTION RETURN VALUE

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

DESCRIPTION

Create an instance of a GenMCase object. Memory is allocated for the object private data and the pointer to the object is returned.

Destroy an instance of a GenMCase object using

     void vfx_GenMCaseEnd (vfx_GenMCase *genmcase)

Return the current value of a GenMCase object error flag using

     Vint vfx_GenMCaseError (vfx_GenMCase *genmcase)


Table of Contents , GenMCase

NAME

vfx_GenMCaseIRelief - generate statically determinant constraints

C SPECIFICATION

void vfx_GenMCaseIRelief (vfx_GenMCase *genmcase,
                          vis_MCase *mcase)

INPUT ARGUMENTS

genmcase     Pointer to GenMCase object.
mcase        Pointer to MCase object to receive generated constraints

OUTPUT ARGUMENTS

None

ERRORS

SYS_ERROR_NULLOBJECT is generated if a Model object has not been set.

DESCRIPTION

Compute statically determinant multipoint constraints. The resulting constraints are added to MCase.


Table of Contents , GenMCase

NAME

vfx_GenMCaseSetObject - set attribute objects

C SPECIFICATION

void vfx_GenMCaseSetObject (vfx_GenMCase *genmcase,
                            Vint objecttype,
                            Vobject *object)

INPUT ARGUMENTS

genmcase     Pointer to GenMCase object.
objecttype   The object type identifier
             =VIS_MODEL              Model object
object       Pointer to the object to be set.

OUTPUT ARGUMENTS

None

ERRORS

SYS_ERROR_OBJECTTYPE is generated if an improper objecttype is specified.

DESCRIPTION

Set a pointer to an attribute object. The Model object must be registered.