LightS user's manual

 

1    The input file "structure.txt"_ 2

2    The input file "material.txt"_ 7

3    The input file "loading.txt"_ 8

 


A consistent system of units must be used in all input files. The solution algorithm tries to incorporate scale invariance. However, it is advisable to try changes in units since this may greatly improve convergence.

 

The effect of self weight is always considered in the negative Z direction.

 

The reading mechanism simply skips lines until it finds a colon as the first character of a line. Then, it reads a data set, starting at the next line. Every data set has its own fixed pattern. Any number of comment lines, including blank lines, can be placed before the line with the colon.

 

1         The input file "structure.txt"

 

The following describes the pattern for each data set in the input file "structure.txt". These data sets are read by the procedure getstructure.

 

solution parameters

:

lstol maxls mntol mnref maxminor maxlist

 

lstol: Controls the accuracy of the line search. It must lie in the range 0.0 <= lstol < 1.0. Decreasing this value tends to increase the accuracy of the line search. It is usually 0.1.

 

maxls: The maximum number of cubic interpolations allowed in the line search. It must be greater that one. It is usually 20.

 

The iterations terminate if the infinity norm of the residue becomes less than or equal to maxnorm, which is calculated as:

 

maxnorm = mntol * mnref

 

If mntol is specified as a non-positive value, it is replaced by 0.001. If mnref is specified as a non-positive value, it is replaced by the infinite norm of the residue, evaluated with all displacements equal to zero.

 

maxminor: The maximum number of iterations allowed. It must be greater that zero. It is usually ten times the number of degrees of freedom.

 

maxlist: The number of BFGS corrections kept. These corrections are stored separately on a doubly linked circular list. Used only with the limited memory BFGS method. It is usually between 3 and 20.

 

node coordinates

:

nn

 

 1 xo yo zo

 .

 .

 .

nn xo yo zo

 

nn: The number of nodes. The nodes must be numbered sequentially starting at 1.

 

xo,yo,zo: The node coordinates associated with each node.

 

cable elements

:

ne

 

 1 glob1 glob2 mat

 .

 .

 .

ne glob1 glob2 mat

 

ne: The number of elements. The elements must be numbered sequentially starting at 1.

 

glob1,glob2: The node numbers associated with each element.

 

mat: The material number associated with each element. It should be noted that the input file "material.txt" associates the material number with the following properties: Young's modulus, weight per unit length, thermal expansion coefficient, cross-sectional area, break load.

 

membrane elements

:

ne

 

 1 glob1 glob2 glob3 mat

 .

 .

 .

ne glob1 glob2 glob3 mat

 

ne: The number of elements. The elements must be numbered sequentially starting at 1.

 

glob1,glob2,glob3: The node numbers associated with each element. These nodes must appear counterclockwise. This makes the vector orthogonal to the surface points toward the observer.

 

mat: The material number associated with each element. It should be noted that the input file "material.txt" associates the material number with the following properties: stiffness (Young's modulus * thickness), Poisson's ratio, weight per unit area, break stress (force per unit length).

 

frame elements

:

ne

 

 1 glob1 glob2 mat group

   v1 v2 v3

   ax ix iy iz

 .

 .

 .

ne glob1 glob2 mat group

   v1 v2 v3

   ax ix iy iz

 

ne: The number of elements. The elements must be numbered sequentially starting at 1.

 

glob1,glob2: The node numbers associated with each element.

 

mat: The material number associated with each element. It should be noted that the input file "material.txt" associates the material number with the following properties: Young's modulus, shear modulus, weight per unit volume.

 

group: The group number associated with each element. The groups do not need be numbered sequentially, but the group number must lie in the range 1 to ne. It should be noted that the output file "frame.txt" groups elements according the group number.

 

A local reference system is associated with each element in the following way: The X axis is a line passing through nodes glob1 and glob2. The unit vector u is parallel to X axis with direction from node glob1 to node glob2. The Y axis is a principal axis of inertia and the unit vector v is parallel to Y axis. The Z axis is a principal axis of inertia and the unit vector w is parallel to Z axis. It should be noted the vector w is the vector product u x v.

 

v1,v2,v3: The components of vector parallel to Y axis. This vector is normalized to assure a unit vector. If a null vector is supplied, v is the normalized vector product (0,0,1) x u. In case u is parallel to (0,0,1), v is equal to (0,1,0).

 

ax: The cross-sectional area associated with each element.

 

ix: The torsion constant associated with X axis. It should be noted that for a circular cross-section, the torsion constant is equal to the polar moment of inertia. However, for all other cross-sections this is not true.

 

iy: The moment of inertia associated with Y axis.

 

iz: The moment of inertia associated with Z axis.

 

frame releases

:

nr

 

e loc axis

.

.

.

e loc axis

 

nr: The number of releases.

 

e: The frame element number associated with each release.

 

loc: The local node number associated with each release. The local node number is 1 or 2 according to node number glob1 or glob2 respectively.

 

axis: The axis number associated with each release. The force release is parallel to X or Y or Z in the local reference system according to axis number 1 or 2 or 3 respectively. The moment release is about X or Y or Z in the local reference system according to axis number 4 or 5 or 6 respectively.

 

spring elements

:

ne

 

 1 glob axis stiff

 .

 .

 .

ne glob axis stiff

 

ne: The number of elements. The elements must be numbered sequentially starting at 1.

 

glob: The node number associated with each element.

 

axis: The axis number associated with each element. The spring orientation is parallel to X or Y or Z in the global reference system according to axis number 1 or 2 or 3 respectively. The element has one degree of freedom.

 

stiff: The stiffness associated with each element. A positive displacement parallel to the specified axis stretches the spring.

 

known displacements

:

nk

 

glob axis known

.

.

.

glob axis known

 

nk: The number of displacements.

 

glob: The node number associated with each displacement.

 

axis: The axis number associated with each displacement. The translational displacement is parallel to X or Y or Z in the global reference system according to axis number 1 or 2 or 3 respectively. The rotational displacement is about X or Y or Z in the global reference system according to axis number 4 or 5 or 6 respectively.

 

known: The displacement value.

 

2         The input file "material.txt"

 

The following describes the pattern for each data set in the input file "material.txt". These data sets are read by the procedure getmaterial.

 

cable materials

:

nm

 

 1 young weight1 alpha area breakload

 .

 .

 .

nm young weight1 alpha area breakload

 

nm: The number of materials. The materials must be numbered sequentially starting at 1.

 

young: The Young's modulus associated with each material.

 

weight1: The weight per unit length associated with each material.

 

alpha: The thermal expansion coefficient associated with each material.

 

area: The cross-sectional area associated with each material.

 

breakload: The break load associated with each material.

 

membrane materials

:

nm

 

 1 stiffness poisson weight2 breakstress

 .

 .

 .

nm stiffness poisson weight2 breakstress

 

nm: The number of materials. The materials must be numbered sequentially starting at 1.

 

stiffness: The membrane stiffness (Young's modulus * thickness) associated with each material.

 

poisson: The Poisson's ratio associated with each material.

 

weight2: The weight per unit area associated with each material.

 

breakstress: The membrane break stress (force per unit length) associated with each material.

 

frame materials

:

nm

 

 1 young shear weight3

 .

 .

 .

nm young shear weight3

 

nm: The number of materials. The materials must be numbered sequentially starting at 1.

 

young: The Young's modulus associated with each material.

 

shear: The shear modulus associated with each material.

 

weight3: The weight per unit volume associated with each material.

 

3         The input file "loading.txt"

 

The following describes the pattern for each data set in the input file "loading.txt".

 

The following data set is read by the main program.

 

number of loadings

:

nl

 

nl: The number of loadings.

 

The following data sets are read by the procedure getloading.

 

loading parameters

:

loading csf msf temp code

 

loading: The loading number. The loadings must be numbered sequentially starting at 1.

 

csf: The safety factor for cable elements. If the load (axial force) on a cable element is greater than its resistance (break load divided by the safety factor), the output file "cable.txt" will list the load divided by the resistance.

 

msf: The safety factor for membrane elements. If the maximum principal stress (force per unit length) on a membrane element is greater than its resistance (break stress divided by the safety factor), the output file "membrane.txt" will list the stress divided by the resistance.

 

temp: The variation of temperature. Currently, it is applied only on cable elements.

 

For each loading, the output file "displacement.txt" lists the minimum and maximum displacements calculated as displacements minus the coordinates of an origin point. The coordinates of this origin point are the displacements of a previous loading. By default, the origin point starts with all its coordinates equal to zero. However, at the start of each loading, the origin point can be changed. The change affects only subsequent loadings.

 

code: The code number changes the origin point according:

 

0: no change.

 

1: sets the coordinates of the origin point to the displacements of the current loading.

 

nodal forces

:

na

 

glob axis action

.

.

.

glob axis action

 

na: The number of actions.

 

glob: The node number associated with each action.

 

axis: The axis number associated with each action. The force action is parallel to X or Y or Z in the global reference system according to axis number 1 or 2 or 3 respectively. The moment action is about X or Y or Z in the global reference system according to axis number 4 or 5 or 6 respectively.

 

action: The action value.

 

change cable element state

:

nc

 

e code value

.

.

.

e code value

 

The cable element has three states: normal state, cut state, tension state. By default, all cable elements start at the normal state. However, at the start of each loading, the cable element states can be changed.

 

normal state: An element without any special feature.

 

cut state: An element with an imposed constant cut value in its undeformed length. It should be noted that the element will only show a constant tension in motions that preserve its undeformed cut length. Applying constant cut to selected elements of a cable network is an easy way to apply tension to this cable network.

 

tension state: An element with an imposed constant tension value. It should be noted that the element will show constant tension in any motion. Applying constant tension to selected elements of a cable network is an easy way to apply tension to this cable network.

 

A constant cut value is equivalent to a constant tension value in the sense that they both produce the same internal forces.

 

nc: The number of changes.

 

e: The element number associated with each change.

 

code: The code number associated with each change. The code number changes the current element state according:

 

0: set normal state.

 

1: set cut state with given cut value.

 

2: set tension state with given tension value.

 

3: set cut state with cut value given by current tension state.

 

4: set tension state with tension value given by current cut state.

 

value: The cut or tension value according to code number 1 or 2 respectively.

 

force per unit area in the Z direction on membrane elements

:

na

 

e action

.

.

.

e action

 

na: The number of actions.

 

e: The element number associated with each action.

 

action: The force per unit area value.

 

One third of the resultant force is applied on each node.

 

force per unit area orthogonal to the surface on membrane elements

:

na

 

e action

.

.

.

e action

 

na: The number of actions.

 

e: The element number associated with each action.

 

action: The force per unit area value.

 

The vector orthogonal to the surface on membrane elements is defined only for the undeformed state. When the node numbers associated with the membrane element appear counterclockwise, the vector orthogonal to its surface points toward the observer. One third of the resultant force is applied on each node.