Introductory ABBs & PBAMs
This page gives a few ABBs and PBAMs which introduce constrained object (cob) concepts progressively. More primitive ABBs are given first which are used to build subsequent ABBs and PBAMs.
See also:
Constrained object representation & constraint schematic notation
Analysis Building Blocks(ABBs)
Represenation of engineering analysis concepts as cobs.One D Linear Elastic Model
Extensional Rod
Elementary Deformable Body
PBAMs
Represenation of engineering analysis models as cobs that includes explicit associativity between detailed design objects (CAD) and analysis objects (ABBs - for CAE).Component Extensional Model
Linkage Extensional Model
PWB Thermal Bending Model
Other PBAM Examples (include FEA-based and nested PBAMs)
ABBs
One D Linear Elastic Model
Constraint Schematic

ABB Structure
Superclass
none
Variables
youngs modulus, ![]()
poissons ratio, ![]()
cte, ![]()
shear modulus, ![]()
strain, ![]()
elastic strain, ![]()
thermal strain, ![]()
stress, ![]()
shear strain, ![]()
shear stress, ![]()
temperature change, ![]()
Relations
r1 ![]()
r2 ![]()
r3 ![]()
r4 ![]()
r5 ![]()
Subsystems
none
Subsystem Views (Special Cases)
|
full |
|
|
isothermal
|
|
|
no shear
|
|
Extensional Rod

Constraint Schematic

ABB Structure
Superclass
Elementary Deformable Body
Variables
undeformed length, ![]()
area, ![]()
start, ![]()
end, ![]()
length, ![]()
total elongation, ![]()
force, ![]()
youngs modulus, ![]()
cte, ![]()
strain, ![]()
elastic strain, ![]()
thermal strain, ![]()
stress, ![]()
Relations
r1 ![]()
r2 ![]()
r3 ![]()
r4 ![]()
Subsystems
deformation model : One D Linear Elastic Model (no shear)
Subsystem Views
|
full |
|
|
isothermal
|
|
|
no force
|
|
Elementary Deformable Body
ABB Structure
Superclass
none
Variables
reference temperature, ![]()
temperature, ![]()
temperature change, ![]()
Relations
r1 ![]()
Subsystems
material model : One D Linear Elastic Model
Subsystem Views
not applicable (abstract superclass)
PBAMs
Component Extensional Model

Constraint Schematic

Express
ENTITY component_extensional_model SUBTYPE OF ( product_model_based_analysis_model ); (* Product Variables *) component : electrical_component; (* Subsystems *) deformation_model : basic_rod; (* Analysis Variables *) (* none extra *) (*Mapped Variables *) length : positive_length_measure; cte : cte; reference_temperature : temperature; temperature : temperature; temperature_change : temperature; total_elongation : length_measure; strain : strain; WHERE (* Associativity Linkages*) al1 : deformation_model.length = component.total_length; al2 : deformation_model.cte = component.primary_structural_material.linear_elastic_model.cte; (* Analysis-Analysis Transformations *) (* none extra *) (* Subsystem Conditions *) (* ssc1 : deformation_model.no_force = true; *) (*Mappings *) mv1 : length = deformation_model.length; mv2 : cte = deformation_model.cte; mv3 : reference_temperature = deformation_model.reference_temperature; mv4 : temperature = deformation_model.temperature; mv5 : temperature_change = deformation_model.temperature_change; mv6 : total_elongation = deformation_model.total_elongation; mv7 : strain = deformation_model.strain; END_ENTITY;
Smalltalk
"analysis variables" variables := nil. productVariables := List withAll: #(#component ). subProductVariables := Dictionary new. subProductVariables at: #component.totalLength put: #analysisVariable; at: #component.primaryStructuralMaterial put: #productVariable; at: #component.primaryStructuralMaterial.stressStrainModel put: #abb; at: #component.primaryStructuralMaterial.stressStrainModel.cte put: #analysisVariable. self addSubsystemSpec: #deformationModel type: BetterRod. mappedVariables := Dictionary new. mappedVariables at: #undeformedLength put: #deformationModel.undeformedLength; at: #cte put: #deformationModel.cte; at: #referenceTemperature put: #deformationModel.referenceTemperature; at: #temperature put: #deformationModel.temperature; at: #temperatureChange put: #deformationModel.temperatureChange; at: #totalElongation put: #deformationModel.totalElongation; at: #strain put: #deformationModel.strain. relations := nil. productAnalysisTransformations := Dictionary new. productAnalysisTransformations at: #al1 put: '#deformationModel.undeformedLength = #component.totalLength'; at: #al2 put: '#deformationModel.cte = #component.primaryStructuralMaterial.stressStrainModel.cte'.
Linkage Extensional Model

Constraint Schematic

PWB Thermal Bending Model
See Figures 6 & 7 in [Peak, et al., 1996] and U-Engineer for further explanation.
Constraint Schematic

Express
ENTITY pwb_thermal_bending_model SUBTYPE OF (pwb_warpage_model); (* Product Variables *) pwb : pwb; (* Subsystems *) deformation_model : thermal_bending_system; (* Analysis Variables *) (* none *) (*Mapped Variables *) length : positive_length_measure; thickness : positive_length_measure; coefficient_of_thermal_bending : REAL; temperature : temperature; reference_temperature : temperature; temperature_change : temperature; warpage : length_measure; WHERE (* Associativity Linkages *) al1 : deformation_model.length = pwb.total_diagonal; al2 : deformation_model.thickness = pwb.total_thickness; al3 : deformation_model.coefficient_of_thermal_bending = pwb.coefficient_of_thermal_bending; (* Analysis-Analysis Transformations *) (* none *) (* Subsystem Conditions *) (* none *) (* Mappings *) mv1 : warpage = deformation_model.total_deflection; mv2 : length = deformation_model.length; mv3 : thickness = deformation_model.thickness; mv4: coefficient_of_thermal_bending = deformation_model.coefficient_of_thermal_bending; mv6 : reference_temperature = deformation_model.reference_temperature; mv7 : temperature = deformation_model.temperature; mv8 : temperature_change = deformation_model.temperature_change; END_ENTITY;
Copyright © Georgia Tech