1 / 27

CSE351/ IT351 Modeling and Simulation

CSE351/ IT351 Modeling and Simulation. Mesh Models Dr. Jim Holten. Mesh Models. Background – Representing data from the real world Mesh Types Model Implementation via Matrices Model Implementation using SRF. Background. How do we represent a continuum?

Download Presentation

CSE351/ IT351 Modeling and Simulation

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CSE351/ IT351Modeling and Simulation Mesh Models Dr. Jim Holten

  2. Mesh Models • Background – Representing data from the real world • Mesh Types • Model Implementation via Matrices • Model Implementation using SRF

  3. Background • How do we represent a continuum? • How do we represent a deformable object? • How do we represent disjoint parts?

  4. Representing a Continuum • Field equations (analytical) • Mesh points (discrete locations) • Mesh “cells” (discrete objects) • Combinations

  5. Continuum Field Equations • Gravitation • Electric charges • Magnetic fields • Evenly propagated point source radiated energy

  6. Continuum Mesh Points • Attributed values at each point • Fixed grid points • Mobile grid points • Arbitrary (strategically placed) points • Multi-mesh points

  7. Continuum Mesh Combinations • Objects, particles, and fields • Radiation transport and collisions • Protein models • Satellite orbits • Integrated systems • Boundary transports

  8. Continuum Mesh Cells • Point locations and attributes • Attribute values over line, surface, or volume regions (1-D, 2-D, or 3-D) • May form a hierarchy of cell types • Node (Point) • Edge (Line between points) • Face (Surface bounded by lines) • Zone (Volume bounded by surfaces)

  9. Mesh Cell Behavior Types • Fixed positions (Eulerian Mesh) • Adaptive positions (Lagrangian Mesh) • Crushing collision surface • Wavefront deformation • Adaptive refinement for finer localized representation • Assemblies of parts • Separate “independent objects” • Boundaries

  10. Implementing a Mesh Model • Choose a model object representation • Represent the state variables (properties of the represented objects) • Organize the model calculations (state variable calculations for each time step) • Decide how to view the time step values

  11. State Variables • State variables are EVERY variable that changes over time and must be carried from time step to time step. • State variables are mostly “attributes” (properties) of the elements. • State variables generally are in vectors whose value entries correspond to the cells in a single cell set.

  12. State VariableRepresentations • Each has its own data type, depending on what it represents. • Commonly float or double, may also be integer, enumerated value, vector, string, or ... • Generally loosely interpreted as meaning ANY attribute of an element or of the model itself.

  13. State Variable Calculations • Inputs to calculations: • State variable values (one or many) • Constants and coefficients • Element associations • Outputs • New state variable values

  14. State Variable Calculations • Temporary variables may or may not be considered state variables. • Calculations may be iterated many times over for each of many inputs (A differential equation solver or integrator) or be simple expression evaluation as in (a = b). • A state variable could be the state of a lesser (limited scope) Finite State Machine.

  15. State Variable Calculations • Generally best to organize the calculations to iterate through the output values, calculating each before going on. • Each mesh cell has its own state variables, and it often is best to compute all for one cell at a time, but some algorithms require one attribute for all cells before the next attribute can be calculated.

  16. State Variable Calculations • Selecting the order to do calculations among attributes can be a precedence-based scheduling problem. • Work to keep it as simple as possible!! • Use comments to inform source code readers why you have used a specific ordering or technique!

  17. Choose a Model Object Representation • Finite Elements? (Pick from a zoo of predefined cell element types) • Regular Polyhedral Mesh? (Homogeneous mesh cells) • General Polyhedral Mesh? (Hierarchy of generalized cells) • Any combination of the above?

  18. Model Cell Criteria • Cell shapes? • Cell properties (attributes)? • Cell associations with neighbor cells? • Cell associations with other cell set members? • Complexities of developing supporting code?

  19. Finite ElementCell Types • 1-D: Line, interpolated line, spline • 2-D: Triangle, rectangle, trapezoid, circle, ellipse, interpolated shape variations • 3-D: Tetrahedral, hexahedral, spherical, ellipsoidal • Special types: Springs, shock absorbers, circuit components, other custom variations

  20. Regular PolyhedralCell Types • Limited to “regular” shapes that will cover a “region”. • 1-D: No problem. • 2-D: Triangles, quadrangles, and hexagons only. • 3-D: Hexahedrals only. • Does not cover irregularly shaped model objects/parts.

  21. General PolyhedralCell Types • A hierarchy of cells (nodes, edges, faces, and zones). • 0-D: node (point) has a location (usually) • 1-D: edge (line) connects two end points (nodes). • 2-D: face is surrounded by edges. • 3-D: zone is surrounded by faces. • Fully generalized polyhedral shapes, allowing extreme shape representation.

  22. Matrix Representationsof Mesh Models • Vectors • Each is over a single cell set (which is always made up of a single cell type) • Each contains values for a single property for each cell in the cell set • Matrices • Each matrix represents an association between values for a pair of cell sets • Each may be a “flag” (1 or 0) or may have an association value (constant coefficient) • Some are used as transformations to “relate” vector values in linear equations for the time step calculations • Commonly used for sets of homogeneous cell types

  23. Matrix Mesh ModelVectors • Vectors of cell set member attributes (property values) • One value for each cell in the cell set • May be scalars, vectors, matrices, tensors, strings, enumerated values (hot/warm/cold, on/off, ...), or ? • Examples • Volume temperature, material makeup, mass, density, pressure, ... • Point coordinates (1-D, 2-D, or 3-D usually) • Each entry a vector of flow through a surface

  24. Matrix Mesh ModelMatrices • Represent relations which indicate • cell adjacency within a set of cells • cell associations between cell sets • May contain values representing • Cell interaction properties (weights, coefficients) • Linear state value propagator coefficients • Stochastic covariance values for property values between cell pairs

  25. Matrix Mesh ModelCharacteristics • Most model matrices are sparse • Matrix math does NOT handle nonlinearities well, so nonlinearities must be handled as separate expressions for each transformation. • Matrix representations do NOT clearly indicate organization at higher levels of abstraction. • It is easy to get lost in the code and data relationships at all levels. • Parallel partitioning can be awkward.

  26. Viewing Time Step Values • Generally state variable combinations are valid only between (not during) time steps. That is when to view them (except for debugging purposes). • Sometimes auxiliary state variables are created JUST so they can be viewed!!

  27. Viewing Time Step Values • Print the values. • Plot the values. • Use the values to adjust visual “meters” or other indicators. • Use the values to adjust images on virtual displays. • Save the values for a later animation. • Postprocess the values for a custom view.

More Related