Documentation for 3D-1D Coupling Program
Introduction
Intended Use of the Software
Coupling Beams to Various Mesh Types
Inputs to the Program
Outputs From Program
Using & Running the Program for an FE Analysis
Additional Software Required to Run coupling programs
Execution Procedure
Files Created on Program Execution
Mathematics behind the Code
Worked Example
Introduction
All structures in the real world are three dimensional, but in ordinary strength of materials, approximations are
made to facilitate simple stress analysis of a problem. In Finite element analysis the same valid and
useful approach is adopted. If the geometry and loads can be completely described in one plane, then the problem can be
described in two dimensions. Dimensional Reduction involves the removal of physical dimensions from the
governing equations and replacing them with parameters.
A large percentage of finite element analyses can make use of reduced dimensional element
types that are defined in terms of a reduced geometric representation with associated element properties that
account for the dimensions not included. These element types tend to produce more computationally efficient
models, thus reducing analysis time and cost.
In most practical models there are areas of the
model which are ideal candidates for dimensional reduction, but they are usually bounded by areas which
contain changes in cross section or other complex geometric configurations. Therefore, to dimensionally
reduce these regions of constant geometry, a method to couple or join the newly created reduced sections to the
original complex sections of the model is needed.
The process of joining entities of different geometric dimension is known as multi (or mixed) dimensional
coupling. There is a marked reduction in the number of elements required to carry out an analysis
if the dimensional reduction facility is availed of.
In many finite element stress analyses, reduced or lower dimensional element types are thus combined with
higher dimensional element types in a single model. In order to achieve a state of compatibility of
displacements and stress equilibrium at the junction or interface between the differing element types, it is
important to integrate into the analysis some scheme for coupling the element types in a manner that conforms
to the theories of elasticity. The suite of coupling programs does this. The coupling procedure involves the use
of several constraint equations, each of which enforces a relationship among the degrees of freedom at the nodes
along the interface between differing element types. It is possible to formulate these constraint equations so as
to express and eliminate the higher dimensional degrees of freedom in terms of the lower dimensional degrees of
freedom or vice versa.
Constraint equations are relationships among degrees of freedom that supplement the relationships represented
by the basic stiffness equations. A multi-point constraint equation prescribes the relationship among degrees
of freedom.
Therefore in Conclusion, This program creates multi-point constraint equations which can be used in an FE analysis.
Six equations are created in all, and are written in a format that Abaqus can read. The input for each program is
usually in a file that has been written out by CadFix. It contains information on the nodes and elements that lie
on the interface.
Intended use of the Software
The software was designed so that it could be used almost as a plugin for CadFix. The Finite Element file where
coupling is needed is to be open in CadFix, while the coupling program would be called from a DOS Window. The general
procedure in using each program is:
- Create a Finite Element Model in CadFix in the Usual manner.
- Create a 3D mesh on the 3D regions of the model, a 1D mesh on the regions to be modeled using beam elements, and
a 2D mesh on the interface between the 1d & 3D regions.
- Write out the 2D mesh to a file
- Start up the coupling program
- Read the file outputted from CadFix & Create the coupling equations & a file on the information on the beam cross
section
- Read in the Beam properties from the newly created file & assign the properties to the beam elements
- Create the Abaqus input file for the whole model
- Add the coupling equations to the Abaqus input file and solve
- Complete the FEA session by postprocessing (viewing the results)
Different Programs for Different Meshes
Three dimensional meshes come in essentially two forms, triangular based and quadrilateral type meshes:
Trianglular based meshes:
Triangular based meshes can be either pyramids (tetrahedra) or wedges (pentahedra).
These elements can also be linear (4 noded & 6 noded respectively) or quadratic (10 noded & 15 noded respectively).
We are only concerned with the 3D element face on the interface, so are only dealing with triangular faces.
The linear triangle has 3 nodes, and the quadratic has 6. Therefore the programs for triangluar based meshes are:
- tr3coupling.exe - For interfaces consisting of 3 noded triangles.
- tr6coupling.exe - For interfaces consisting of 6 noded triangles.
Quadrilateral based meshes:
Quad based meshes consist of Hexahedral (rectangular Bricks) type elements.
These elements can also be linear (8 noded) or quadratic (20 noded).
We are again only concerned with the 3D element face at the interface, so are only dealing with
quadrilateral faces. The linear quad has 4 nodes, and the quadratic quad has 8. Therefore the programs for quadrialteral
based meshes are:
- qu4coupling.exe - For interfaces consisting of 4 noded quadrilaterals.
- qu8coupling.exe - For interfaces consisting of 8 noded quadrialterals.
Inputs to Each Program
Each program requires input from two sources, The first is input from the user through the keyboard, and the second is a
text file which contains all the information required to carry out the coupling procedure.
User Input
The user is required to give the following essential inputs:
- The name of the file that contains the model data
- The node number of the beam node at the interface
- A letter or character so that problems due to re-naming are overcome in the case of multiple interfaces in a
single model.
- The format of the input file (see next paragraph for more details).
The user may also make the following input requests if he/she wishes:
- Create HTML, DXF & CadFix files for Viewing
- Save a range of temporary files for further use
Input File
The input file maybe one of two formats, both are files that are written out by CadFix:
- FME format, which is obtained using the command: SEND <set> FME "<filename>". In the brackets, set
is a CadFix set which contains all the nodes and 2D elements on the interface, and filename is the name of the input
file with it's extension. Note that the filename is encapsulated between inverted commas, and that there is a whitespace
between each word in the CadFix command.
- PRNT format, which is obtained using the commands: WRIT To "<filename>". This command should be followed
immediately by PRNT N <set> and then PRNT E <set> and finally WRIT END It is essential that the file is written
out in that order, as each program is expects the nodes to be listed before the elements in the input file.
In the brackets, set is a CadFix set which contains all the nodes and 2D elements on the interface, and filename is the
name of the input file with it's extension.
Note again that the filename is encapsulated between inverted commas, and that there is a whitespace
between each word in the CadFix commands.
Output from Each Program
Each program creates standard files for use in the FE analysis and extra files that may be of some use to the user.
The user is given the option to create the extra files at run time.
Each standard file created has comment in it stating the input file used and the date and time of the file's creation.
Also, each file contains the instructions on how and where it is to be used in the analysis.
The Program creates the following Standard files (on default execution):
- A file containing all coupling equations for an interface. As there are six degrees of freedom at the interface, there are
six corresponding coupling equations. The file is called couple_%.txt, where the percentage sign is the
letter or character that was inputted via the keyboard at the commencement of execution.
- A results file containing the information calculated for the input mesh. The information includes:
- The element cross sectional properties (area, xbar, ybar, ixx, iyy, ixy, J) in both global and local coordinate
systems (the local coordinate system is relative to the cross section centroid).
- The nodes that are on the outside boundary of the model.
- How many holes there are in the cross section, and what nodes form each hole.
- The constants for asymmetric Bending, where bending stress = P.x + Q.y, (P & Q being the constants).
- The position of the shear Centre in both global & local coordinate systems.
- The resultant shear forces on the Cross section (due to a force in both the x & y directions.
- The time it took to create the six coupling equations.
A file that can be read into CadFix to assign the material properties of the cross-section to the beam element.
The file is called %_section.txt, and the file is read into CadFix using the command READ "%_section.txt"
When this command is executed, it creates a material property in CadFix with the name ROD%. Again the percentage sign
represents the letter or character that was input to each program at the commencement of execution.
A file that contains the information on the stress distributions on the cross section. This enables the
stresses due to unit force to be viewed in the original CadFix model. The commands used to view the results
are:
- READ "%_stresses.txt" This reads in all the results from the results file (percent sign is the identifier
as mentioned previously).
- RSEL XTXZ This selects shear stress Txz due to a shear force in the x direction.
- PLOT RFC ALL This plots the contours of Shear stress for the previously selected XTXZ.
- Other available results types are;
- XTYZ, This is the other shear stresses due to shear force in the x-direction.
- YTXZ, YTYZ shear stresses due to a shear force in the y-direction
- SSFN the stress function from Timoshenko beam analysis
- AXIA direct stress due to an axial load
- BENX direct stress due to bending about the x-axis
- BENY direct stress due to bending about the y axis
- TSFN the stress function from St. Venant torsion analysis
- TRSN the absolute stress due to torsion
- TTXZ shear stress Txz due to torsion
- TTYZ shear stress Tyz due to torsion
The Extra files that maybe created at run time are:
- element.dxf This file is in data exchange format, and can be read into AutoCad or into CorelDraw for
viewing & plotting
- dermot.html This file is an internet browser file which contains a viewer so that the file contents can
be viewed graphically on an internet browser (netscape) that has java capabilities.
- famboundary.txt This file is one which allows the outside boundary of the model to be read into CadFix.
It should not be read into the original model file, as new lines are created which would almost certainly
delete some of the existing lines in the model file. The file is read into CadFix by typing READ
"famboundary.txt" followed by PLOT L NWLI These commands read in all the boundary edges and plot
them on screen.
- There are a host of files that are created in the execution of each program. The files are created out of
necessity when the Abaqus Finite Element solver is called to solve the three Laplace equations (one for torsion and
two for shear stress). Some of the files maybe required for use later on (perhaps the stress functions need to
be viewed for a given reason). Therefore, the files can be kept so they maybe reused. The default is to delete
the files, but if they are chosen to be kept, the extra files appearing in the folder are:
- torsion.inp   The abaqus input file which was created for the torsional case.
- torsion.fil   The abaqus results file for the torsional case.
- torsion.dat   The abaqus data file for the torsional case.
- shear_x.inp   The abaqus input file for the shear force case in the x-direction
- shear_y.inp   The abaqus input file for the shear force case in the y-direction
- shear_x.dat   The abaqus data file for the shear force case in the x-direction
- shear_y.dat   The abaqus input file for the shear force case in the y-direction
Using & Running Each Program for an FE Analysis
Each program is intended to be used from a DOS Window. It is executed from any sub-directory by using the command
tr3coupling The user will then be asked for the name of the input file, the beam node number at the
interface and the letter or character to uniquely identify the set of equations from others in the instance of there
being multiple interfaces to be coupled. Each program will also accept the above three inputs as arguments on the
command line. The reason for this is that it will save time on normal execution, and each program can be run from a
batch file without any user input (questions are asked during each program, but these have a timeout facility, so
the default can be used in the case of each program being included in a batch file).
The procedure for executing each program is:
- Create the Finite Element model in CadFix & mesh the model with an additional 2D mesh at the interface between
the first and third dimensions.
- Create a local coordinate system, ensuring that it's x-y plane is coplanar to the inteface surface(s)
- Assign the surfaces on the interface the local coordinate system. This is required so that the 2D mesh is normal
to the x-y coordinate system when read in from the file by each program.
- Put the 2D elements in a set (a seperate set for each interface)
- Write out the set to a file using one or other of the two commands below:
- WRIT TO "<filename>". This command should be followed
immediately by PRNT N <set> and then PRNT E <set> and finally WRIT END It is essential
that the file is written
out in that order, as each program is expects the nodes to be listed before the elements in the input file.
In the brackets, set is a CadFix set which contains all the nodes and 2D elements on the interface, and filename is the
name of the input file with it's extension
- SEND <set> FME "<filename>". In the brackets, set
is a CadFix set which contains all the nodes and 2D elements on the interface, and filename is the name of the input
file with it's extension. Note that the filename is encapsulated between inverted commas, and that there is a whitespace
between each word in the CadFix command. Note that FME format is written out in the global coordinate system, so it
should ONLY be used for interfaces that are coplanar with the global x-y plane.
- Open up a DOS Window
- To run each program, type in either one of the following:
- ???coupling <filename> <beam node number> <unique letter> to run directly without further
input. ??? in the above command is replaced with either tr3, tr6, qu4 or qu8, depending on the mesh type at the interface.
- Or simply type ???coupling to run each program without giving the input arguments. Each program
will then prompt to press the letter 'i' to start up the help pages, and once the user is finished with the help pages,
each program will
ask to, either continue with a coupling process and ask for the remaining input, or just quit out.
When each program has run, the file containing the six equations and the file with the beam properties are created for use in the
analysis.
- Read in the file that contains the cross sectional properties of the beam element. This is done by typing
READ "%_section.txt" This will create a material peoperty called ROD%, where both %'s are the unique letter to
this interface.
- Assign the beam element the materail properties by using the command ASG <line> PH ROD% where line is the
line in the model that represents the beam
- Load the model as required and save
- Run FAMTOABAQUS
- Open the newly created input file, and just before the *STEP command, add the following for each interface:
*INCLUDE, INPUT=couple_%.txt
% again is the unique letter to the interface in question.
- Save the File, and it is ready for solving.
- Solve and postprocess as usual
Additional Software Required to use the Programs
The Programs use a number of other applications during execution. This situation was unavoidable and these programs
must be available at run time. The extra programs required can be divided into two categories, commercial
software, and software written and compiled by Dermot. The commercial software used
are Abaqus and the computer's default web browser (Netscape, MS Internet Explorer, Opera, etc..). Abaqus is used to solve the
partial differential (Poisson) equations that occur in the elastic theory for the Torsional and Shear force cases.
The web browser is used for viewing the documentation & help files. The extra executables required to run each program to
completion are as follows:
- auto_temps.exe This reads in the results files from the 2D Abaqus analysis, and places the
results in a file, so that tr3coupling.exe can access them in a readable form. The reason for having this program
as a seperate executable is that each program uses a host of Abaqus sub-routines for reading the results file. These
sub-routines are coded in Fortran, so the executable was created via the 'abaqus make' command. An important point
to be noted is that auto_temps.exe must be compiled using the current release of the Abaqus software. This is to
ensure that each program has the capability to read in the results files from that release version. Contact
Dermot for more details & for help on compiling the executable in the correct
manner.
- html_section.exe As the name suggests, each program reads in information about the cross section
and then outputs it to a html file. The file name is 'dermot.html'. Associated with dermot.html is an obj file.
This file contains all the information on the cross-section, and on starting up of the html file, the browser loads
the obj file on the applet in the html file. As there is an applet in the browser file, the browser using the file
must have Java capabilities, and Java must be swithced on (see 'edit => preferences' in Netscape or 'view => options'
in MS Internet Explorer).
The user may also read more information on each program when each program starts it's conversion by following the
instructions given on screen during tr3coupling run time.
- texttodxf.exe This executable converts a neutral text file that was written out by the
main program to element.dxf that can be read into AutoCad or CorelDraw. It also creates famboundary.txt
which can be read into CadFix using the command READ "famboundary.txt" followed by PLOT L nwli. This
reads in the contents of the file and then plots the newly read in lines to screen. The default setting during
runtime is not to create these two files, but the user can ask for them to be created during execution of each program.
The user may also read more information on each program when each program starts it's conversion by following the
instructions given on screen during run time.
Execution Procedure
The procedure carried out during execution of each program is as follows:
- Read in the interface information via the FME or PRNT file from CadFix
- Check for negative orientation of the element mesh. The elements must be listed in an anti-clockwise order, to
ensure that the area properties and shape functions are correct. If the orientation is indeed negative, the
elements are flipped, so that the nodes are listed in an anti-clockwise order.
- Calculate all area properties for the interface (area, centroid, Ixx, Iyy, Ixy, J).
- Calculate all element area properties in the global coordinate system and a coordinate system
relative to the centroid of the sections (area, centroid, Ixx, Iyy, Ixy, J)
- Calculate the shape functions for each element
- Evaluate what nodes are on the inside and what nodes form the outside boundary of the cross section. If there
are holes in the cross section, the outside boundary needs to be evaluated, and distingushed from the holes in the
cross section (the inner boundaries).
- Generate the coupling equation for the Axial force case (DOF 3), and add the stress results to the results file
for reading into CadFix.
- Generate the coupling equations for the Bending momnent case (DOF 4 & 5), and add the stress results to the
results file for reading into CadFix.
- Create the Abaqus input file for the 2D torsion analysis. This is a complex procedure, contact
Dermot for more details.
- Call Abaqus to solve the Poisson's equation
- Call auto_temps.exe to convert the Abaqus results to the neutral file format
- Read in the results from the neutral file, and calculate the stresses on the cross section due to a torsional load.
This is another complex procedure.
- Write out the stresses due to a unit torque to the CadFix results file
- Create the constraint equation for the torsional load case (DOF 6)
- Create the Abaqus input files for the 2D shear force analyses. This is a complex procedure, contact
Dermot for more details.
- Call Abaqus to solve the two Poisson's equations
- Call auto_temps.exe to convert the two Abaqus results to the neutral file format
- Read in the results from the neutral file, and calculate the stresses on the cross section due to the shear force
in the x and y directions respectively. This is yet another complex process.
- Write out the stresses due to the unit shear forces to the CadFix results file
- Create the constraint equations for the shear force cases (DOF 1 & 2)
- Write out the results file for the coupling
- Write out the beam element area properties file for reading into CadFix
- Call html_section.exe to create the html file for each cross section (optional)
- Call texttodxf.exe to create dxf & CadFix files for each cross section (optional)
- Delete all temporary files used in the operation and exit
Files Created on Program Execution
There are two types of files created during program execution, namely output files and temporary
files. The temporary files created during execution are deleted on program closure. These temporary files are
as follows:
- Files from the 2D Torsion analysis
- torsion.bat ........The batch file
- torsion.sta ........The status file
- torsion.023 ........a temporary file
- torsion.msg ........The message file
- torsion.sdb ........A database file
- torsion.odb ........a temporary file
- tsntemp.tmp ........The neutral file containing the results
- Files from the 2D Shear analyses
- shear_x.bat, shear_y.bat ........batch files
- shear_x.sta, shear_y.sta ........status files
- shear_x.023, shear_y.023 ........temporary files
- shear_x.msg, shear_y.msg ........message files
- shear_x.sdb, shear_y.sdb ........database files
- shear_x.odb, shear_y.odb ........temporary files
- shear_x.fil, shear_y.fil ........results files
- xshtemp.tmp, yshtemp.tmp ........neutral files containing the results
- Files which maybe retained by the user (option given during execution), the default is to delete them all
- torsion.inp, ........input file for torsion analysis
- torsion.dat, ........data file for torsion analysis
- torsion.fil, ........results file for torsion analysis
- shear_x.inp, ........input file for shear force in x-direction
- shear_x.dat, ........data file for shear force in x-direction
- shear_y.inp, ........input file for shear force in y-direction
- shear_y.dat, ........data file for shear force in y-direction
- element.dat, ........neutral files containing the outside element edges (used for texttodxf.exe)