# Presentation: 388224

## The Craig-Bampton Method

- FEMCI Presentation
- Scott Gordon
- May 6, 1999
_**Topics:**_
- 1)  Background
- 2)  Theory
- 3)  Creating a C-B Model
- 4)  Load Transformation Matrices
- 5) Verification
- Appendix:  Sample FLAME scripts

## Background

**Who is Craig Bampton?**
- “Coupling of Substructures for Dynamic Analysis”
- Roy R. Craig Jr. and Mervyn C. C. Bampton
- AIAA Journal
- Vol. 6, No. 7, July 1968
**What is the Craig-Bampton Method?**
-  Method for reducing the size of a finite element model.
-  Combines motion of boundary points with modes of the structure assuming the boundary points are held fixed
-  Similar to other reduction schemes
- {U} = []{Ua}	Where [] = -[Koo]-1[Koa]			**Guyan Reduction**
- 		           {Ua} = A-set points
- {U} = []{q}	Where [] = Mode Shapes			**Modal Decoupling**
- 		            {q} = Modal dof’s
- {U} = []{xcb}	Where [] = C-B Transformation		**C-B Method                                                                             ****	** 		  {xcb} = C-B Dof’s = boundary + modes

## Background (Cont)

- Why is the C-B Method Used?
- Allows problem size to be reduced
- Accounts for both mass and stiffness (unlike Guyan reduction)
- Problem size defined by frequency range
- Allows for different boundary conditions at interface (unlike modal decoupling)
- Example
- Spacecraft Model:	10,000 DOF’s
- 			K,M = 10,000 x 10,000
- 			10 Modes up to 50 Hz
- 			Single Boundary grid at interface
- C-B Reduction:		16 DOF (6 i/f  + 10 Modes)
- 	to 50 Hz		K,M = 16 x 16

## Craig-Bampton Theory

- Equation of motion (ignoring damping)
- The Craig-Bampton transform is defined as:

- C-B Transformation Matrix = cb

## Craig-Bampton Theory (Cont.)

- Combining equations (1) & (2) and pre-multiplying by [cb]T
- Define the C-B mass and stiffness matrices as
- Write equation (3) using equations (4) & (5)

## Craig-Bampton Theory (Cont.)

**Important properties of the C-B mass and stiffness matrices**
- Mbb = Bounday mass matrix => total mass properties translated to the boundary points
- Kbb = Interface stiffness matrix => stiffness associated with displacing one boundary dof while other are held fixed
- If the boundary point is a single grid (i.e. non-redundant) then
- 			**K****bb**** = 0**
- If the mode shapes have been mass normalized (typically they are) then
- 					(8)

## We can finally write the dynamic equation of motion (including damping) using the C-B transform as

		where 2 = Modal damping  (=%critical)
Summary of C-B Theory
C-B Mass and Stiffness Matrices fully define system
Dynamics problem solved using CB dof’s
C-B boundary dofs provide location to apply BC’s & Forces or to couple with another structure
CB transform is used to calculate physical responses from CB responses

- 		where 2 = Modal damping  (=%critical)
- Summary of C-B Theory
- C-B Mass and Stiffness Matrices fully define system
- Dynamics problem solved using CB dof’s
- C-B boundary dofs provide location to apply BC’s & Forces or to couple with another structure
- CB transform is used to calculate physical responses from CB responses

- Craig-Bampton Theory (Cont.)

## How to Create a C-B Model

## How to Create a C-B Model (Cont.)

- What is created?
- file (.kmnp) which contains CB stiffness and mass matrices (k,m), net CG ltm (n), and the CB transformation matrix (_p_hig)
- .kmnp file is in NASTRAN binary output4 format
- K&M size is [CB dofs (boundary + modal) x CB dofs]
- phig size is [G-set rows x CB dofs]
- Net CG LTM recovers CG accelerations and I/F Forces, Size is [6+boundary dofs x CB dofs]
- How do you use this?
- Solve dynamics problem for CB dof response using the K & M matrices
- Transform CB responses using phig to get physical responses

## Load Transformation Matrices (LTMs)

- LTM is a generic term referring to the matrix used to transform from CB dofs to physical dofs (also referred to at OTMs, ATMs, DTMs...)
- In its simplest form, the LTM is simply the phig matrix
- 	(Only the rows corresponding to the physical dofs of interest are needed)
- There are other useful LTMs that can be created
- I/F forces
- Net CG accelerations
- Stress & force LTMs

## LTM’s (Cont.)

- I/F Force LTM (created by CB dmap)
- (If boundary is non-redundant, then Kbb=0)
- Net CG LTM (created by CB dmap)

## PHIZ LTM
Allows physical displacements to be calculated from CB accelerations

Same as modal acceleration approach in NASTRAN
Useful in calculating relative displacements between DOF’s
Also used to calculate stresses and forces which are a function of displacements
Calculated from C-B dmap using => param,phzout,1

- Allows physical displacements to be calculated from CB accelerations
- Same as modal acceleration approach in NASTRAN
- Useful in calculating relative displacements between DOF’s
- Also used to calculate stresses and forces which are a function of displacements
- Calculated from C-B dmap using => param,phzout,1

- LTM’s (Cont.)

## LTM’s (Cont.)

- LTM’s can be created using FLAME, MATLAB or using DMAP
- LTM’s can (and usually do) contain multiple types of responses
- LTM’s can be used to recover responses for nested C-B models
- Creating LTMs - See appendix for a sample FLAME script for creating an LTM

## Checking CB Models & LTM’s

- C-B Models and LTMs should be verified to make sure that they have been created correctly (especially for complicated LTM’s or nested C-B models)
- CB Mass and stiffness matrices can be checked by computing free-free and fixed-base modes
- CB boundary Mass matrix can be transformed to CG and compared with NASTRAN GPWG

## Checking C-B Models and LTM’s (Cont.)

- LTMS can be checked by applying unit acceleration at the boundary
- Each response column represents acceleration in a single direction
- Accelerations should be in correct directions
- Forces should recover weight or correct moments
- Unit acceleration applied to PHIZ can be checked by gravity run with physical model and comparing displacements
- See appendix for sample FLAME scripts to check a CB model and LTM

## AppendixSample FLAME Scripts

- cb_chk.fla	==>	Checking CB K&M Matrices
- etm_ltma.fla  	==>  	LTM creation
- etm_chk.fla	==>	Checking an LTM