Category "Tips & Tricks"

This topic has always been very popular and this problem has always been very complicated in FEA user community since the inception of Abaqus, or any non-linear FEA code in general. In this brief article, I will highlight few simulation situations where Abaqus standard may not be a good candidate from convergence perspective. Identifying these situations early during pre-processing and working in Explicit right away may save lots of time and efforts that otherwise would be wasted in trying Abaqus Standard.

  • Look at the motion aspect: We always say that simulation is not the complete replacement of physical testing right away. In the beginning physical tests play a critical role in identifying right approach for simulation as well as in data correlation between physical and virtual tests. Look closely at the physical test. Is there a large relative motion between different parts involved? If yes, then Standard is very likely to face convergence problems, even if problem is static by nature. Standard has an option of “small sliding” and “finite sliding”. But user should remember the difference between “finite sliding” and “large sliding”. Attached is the video of wire crimping simulation that ideally is a static problem but numerically not a good candidate for Standard, primarily because of motion.
  • Clock time matters: Apart from magnitude of motion, the duration of motion matters as well. While looking at physical test, closely look at the time in which motion is completed. If too much of motion is covered in too less time, problem is indeed dynamic instead of static as inertia effects cannot be ignored. In such a situation either Standard dynamics or Explicit would be the right way to go. Which one to choose really depends on event duration. If a lot of dynamic phenomenon happens in the order of milliseconds or microseconds, Explicit is only option for this candidate.
  • Is there a severe discontinuous contact: In the status file of Abaqus Standard, there is an undesirable column called SDI’s. It’s called severe discontinuous iterations and too many of these often always leads to convergence nightmare. The reason of SDI’s is discontinuous contact, also known as “chattering”. It’s a phenomenon in which nodes between two bodies in contact continuously change their contact status from OPEN to CLOSE from one iteration to the other as analysis proceeds. If chattering occurs due to modeling errors, it can be corrected but at times discontinuous contact is the nature of problem itself. In such a situation, explicit is the only approach to be taken, even for long duration events with respect to physical time. The attached video is an example of a dynamic event that would only solve in explicit or multi body dynamics, primarily because of severe discontinuous contact.
  • Is there too much Plasticity: Abaqus has material models to capture plasticity but there is a limit on the magnitude of Plasticity Abaqus Standard can handle. If the permanent deformation becomes so high that underlying part completely loses its load carrying capacity then Newton Raphson method of Abaqus Standard would not be able to establish equilibrium and further leading to non-convergence. Ideally, there is no further need to perform simulation as it’s a classic situation of part failure but if further simulation is needed, it should be continued in Explicit using Restart options.

In previous blog articles on 3D Experience simulation roles, we primarily discussed platform configurations, concept of personas and roles as well as simulation capacity of the platform. In this blog article contains detailed information about three primary structural simulation roles: MDS, DRD and SMU.

To begin with, lets recapitulate that simulation roles are categorized in groups based on personas of users working on such roles. In terms of complexity and functionality, offerings range from based to intermediate to advanced.

 

Engineer profile: The is the simplest and easiest to use simulation offering primarily meant for designers with low to intermediate simulation knowledge. Their primary job is product design and they perform simulations very occasionally. Roles for this profile are CAD centric and are associated with a guided workflow. Simulation tokens are embedded in the role.

Analysis engineer profile: This profile is one level above the engineer profile and is suitable for structural analysis engineers associated with product engineering. Their simulation knowledge is of intermediate level which means they understand simulation process in terms of meshing, BC, Loads, result visualization etc. but don’t have any hands-on experience of advanced simulation tools. Usually there is no guided workflow. Simulation tokens are embedded in the role.

Analyst profile: This role is for full time analysts who primarily perform intermediate to advanced level simulations. They have in depth expertise in at-least one simulation domain and often hold Masters or Doctorate level credentials. This role requires extensive knowledge of pre-processing, solver terminologies such as statics, dynamics, non-linearity, convergence schemes, as well as post processing etc. There is no guided workflow. Simulation tokens are procured separately.

 Research Specialist profile: This is a complex simulation offering primarily for experts who develop novel simulation workflows and processes. The simulation requirements often span across multiple physical domains and involves advanced Physics such as vibrations and noise. The pre-processing aspect may include complex meshing of assemblies and assemblies of meshes.

Let’s look at one role from each of first three profiles:

Stress Engineer role (MDS)

 

It’s a role from engineer profile and has a guided workflow. The snapshot shows apps available in MDS role. It performs routine strength and deflection calculations under static loading conditions. It can also compute product fatigue life for very simple loads. The CATIA and SOLIDWORKS associativity is well maintained. Local solver execution up to 4 cores is included.

Structural analysis Engineer role (DRD)

 

It’s a role from analysis engineer profile that has no guided workflow. It is used to access the structural integrity of products subjected to wide range of loading conditions. The snapshot above shows available apps in this role. It works on MSR concept available in advanced simulation tools i.e.  Model-Scenario-Results. Many advanced settings are exposed to the user. This role can perform multi step simulations. Local job execution of up to 8 cores is available.

Mechanical Analyst role (SMU)

 

It’s a role from analyst profile and it does not include a guided workflow. The snapshot above shows available apps in this role.  It uses advanced finite element techniques to simulate and validate complex engineering problems. It offers multiple advanced meshing techniques such as Octree, surface, sweep and RBM. Both single step as well as multi step scenarios are included. Supported analysis steps include static perturbation, non-linear static, frequency, buckling, implicit dynamics, explicit dynamics, steady state heat transfer, transient heat transfer etc. Most of the non-linear materials and complex engineering connections are included.

While we discussed one prominent role from each profile, the south quadrant of 3D Experience platform offers numerous simulation roles. To know more, please contact us.

Organizations invest huge sums of money in simulation software to avoid expensive and disruptive physical testing processes. But how long it really takes to make this transformation happen! One thing is sure; it does not happen in a day. The flow chart below explains the reason pictorially. The last two blocks “compare and improve model” and “compare and improve theory” make this transformation a longer process than expected.

 

Let’s explore the reasons behind it. Comparison is needed to make sure that simulation results mimic the physical testing results before latter can be discarded, partially or fully. The difference in results can be due to three main factors: lack of user competency, limitation of software used, lack of sufficient input data.

Lack of user competency: FEA analysts are not born in a day. The subject is complex to learn and so are the software associated with it. The ramp up time really depends on analyst background along with complexity of problem being simulated. Organizations usually make a choice between hiring expert and expensive analysts who can deliver the results right away or producing analysts of its own through class room and hands on trainings. First option saves time while the second saves money. CAE software development companies are also making big stories these days by introducing CAD embedded simulation tools that require nominal user competency. Nevertheless, the competency builds up over time.

Limitation of software used: Initial investment in simulation domain is usually small. It means two things: either number of users are less or software functionality is limited. With time, complexity of problems goes up but the software remains the same. A common example I have seen is of a customer starting with simple linear simulation workbench in CATIA and over period trying to simulate finite sliding contact problems with frictional interfaces in the same workbench. Users don’t realize that their problem complexity has exceeded the software capacity to handle and it’s time to upgrade. It’s always recommended that analysts get in touch with their software vendors whenever they anticipate an increase in simulation software capacity or functionality. A certified simulation software vendor is a trusted advisor who can really help.

Lack of sufficient input data: “Garbage in – Garbage out” is a very common phrase in simulation world. However, at times it is very difficult to get the right input for software in use. The complexity of input data can arise either from complex material behavior or from complex loading conditions. Example of complex material may be hyper-elasticity or visco-elasticity observed in elastomeric materials. Examples of complex loading may be real time multi block road load data to estimate fatigue life. Sometimes simple metallic structures exhibit complex behavior due to complex loading. Examples are high speed impact or creep loading. With time many material testing labs have come into existence that can perform in house testing to provide right input data for simulation.

Conclusion: You will come out of the vicious loop of physical and simulation results comparison after couple of iterations if you have three things in place: right people, right software product and right input data. If you need help in any of the three aspects, we are always available.

“What you buy makes a difference but from whom you buy makes a bigger difference”

Most often, I talk about greatness of our product offerings in my blog articles. Such kind of blogs assist prospective customers in choosing the right product. But the same product can be procured in multiple ways, either directly from the developer or through a value-added reseller also called as VAR. In this blog article, I would emphasize on how prospective customer should select the right VAR while purchasing a Dassault Systemes or Siemens simulation product.

The first thing a customer needs to verify is whether VAR is supplying just the product or the complete solution. The difference between the two is the “value added services” associated with product usage.

Without value added services, it’s not possible for a reseller to become a value-added reseller.” Please identify if you are doing business with just a reseller or a value-added reseller. Remember, simulation tools are not easy to use. There is a learning curve associated with these tools that can greatly impact the ROI and break-even timeline. The productivity of the user can be substantially enhanced if he is associated with a reseller who can provide whole bunch of services to shorten the learning curve and achieve break-even faster. Now let’s look at what type of services makes a difference in simulation space.

We are talking about software sales as well as consulting, training and support. Our software partners, Dassault Systemes, Siemens and Autodesk offer a bunch of certifications around these four components to distinguish between just “resellers” and “value added resellers.” Being certified means reseller has enough resources and knowledge to execute a given task of sales or service. Let’s talk about each component with respect to Simulation:

Software: To sell any DS SIMULIA product, the associated VAR should have “SIMULIA V6 design sight” certification as a minimum. There are further brand certifications available such as Mid-Market Articulate for product highlight and Mid-Market Demonstrate for product technical demonstration. To sell FEMAP product from Siemens, the VAR must have “FEMAP technical certification” as a minimum. All these certifications are associated with timed examinations.

Training: Training should be an integral part of simulation software sales. It gives users enough knowledge to use the software product in production environment. To offer technical training on any SIMULIA product, the VAR should have “finite element analysis with Abaqus specialist” certification as a minimum.

Support: Once users are in production environment, technical support is required on continuous basis. While many answers related to product usage are in documentation, it’s not a full source of information. Many queries are model specific that require attention of a dedicated support engineer. To offer technical support on any SIMULIA product, the VAR should have at-least one engineer who has “SIMULIA technical support specialist” certification.  This certification should be renewed every two years. It is associated with a lengthy and “hard to pass” support certification examination across all products of SIMULIA brand.

Consulting: Consulting service plays a big role when customer either does not have enough time or resources to execute projects in house in-spite of having software product. It happens during certain burst phases of demand. While there are no certification criteria for VAR’s related to consulting in simulation space, a dedicated consulting and delivery team is needed to offer the service when demand arises.

The above information should help you in ranking your VAR. Do you need to know our rank? Please contact us.

 

MESHING CAPABILITIES IN ABAQUS CAE

It is a well-known fact in the CAE community that the efficiency and accuracy of finite element models are directly dependent on the quality of the underlying meshes in the model. The various quality parameters associated with elements are element size, aspect ratio, skew angle, jacobian, warp, and many more. Yet another parameter of concern is element topology, which means triangular/quadrilateral elements in case of shell meshes and tetrahedral/hexahedral elements in case of solid meshes. Each of these element topologies has its own advantages and disadvantages; for example, tetrahedral elements are easy to create on complex geometries but they have slower convergence, while hexahedral elements are very much desired in computational expensive simulations such as crash due to better convergence and accuracy but cannot be created easily.

Due to specific meshing requirements arising from the increasing complexity of part geometries, meshing techniques are becoming more important across all industry verticals. Transportation & mobility is primarily concerned with hexahedral meshes of pre-defined quality for very complex geometries. This industry has more focus on using Hypermesh and Ansa as a dedicated meshing tools. However these tools are primarily known for good meshing capabilities only. When there is a need to create input decks for advanced non-linear simulations such as with Nastran solution sequences 600/700 or for Abaqus multiphysics or acoustics, many of the solver features are not supported by Hypermesh or Ansa and have to be entered manually into the deck. Aerospace industry has almost always a requirement for composites modeling. They prefer a user interface that can either create or import composite plies and layups. The need for high quality meshes on complex geometries is rather rare. Due to these reasons Aerospace industry has been relying on MSC Patran since many years due to its composites modeling capabilities. However industry is now looking at alternate tools as Patran is losing its competitive edge on CAD import, CAD repair as well as meshing techniques. The CAD repair features are very minimal, there is no CAD associative interface to propagate design changes on FE side and meshing techniques offered are still at very basic level as well.

The objective of this blog is to highlight the meshing techniques in Abaqus CAE that makes CAE a tool of choice in situations where a decent quality mesh, tight integration with multiple CAD platforms as well as tight integration with Abaqus solver are topics of concern for the analyst. It’s worth mentioning for Aerospace industry audience that Abaqus CAE has basic composite modeling capabilities. For advanced composite modeling and visualization capabilities, there is an add on module called composite modeler for Abaqus CAE and there is tight integration between CATIA composites workbench and Abaqus CAE for transfer of FE meshes as well as ply layup information.

THE MESHING TECHNIQUES

 There are primarily four meshing techniques available in Abaqus CAE, both for solid meshes as well as for shell meshes.

Free meshing: This is the easiest of all the techniques as it almost always works with a single click. It primarily generates quadrilateral or triangular elements on surfaces and tetrahedral elements on solids, even on very complex geometries. The downside is that user has very minimal control on elements quality except controlling the mesh density using global and local seeding options.

Sweep meshing: This technique is useful when hexahedral elements are needed on solids with minimal geometry editing though this technique is applicable on surfaces as well. The meshing algorithm automatically identifies a source side and a target side on the geometry, it creates a quadrilateral shell mesh on the source side and sweeps those elements to the target side thereby converting them to hexahedral or bricks. The underlying shell mesh is automatically deleted. The downside is some geometry restrictions with respect to source and target side.

Structured meshing: This meshing techniques is useful when high quality hexahedral or near to perfect shell elements are required on solids or surfaces. This technique offers a better mesh control to the user compared to sweep meshing technique. It works by partitioning the complex solids into smaller six or eight sided parametric solids that can be brick meshed. The nodes at the boundaries are automatically fused to ensure connectivity.

Bottom’s up meshing: This is the last approach when all the other meshing techniques fails. It works on the concept of divide and rule. To some extent it resembles sweep meshing but the underlying geometry restrictions are removed.

THE COLOR CODING FEATURE

This is one feature that sets Abaqus CAE apart from other meshing tools available in the market. While doing meshing, user can see either entire part or regions associated with part (in case of partitions) in pre-defined colors. These colors helps in determining which region of the part would be meshed with which meshing technique if the mesh algorithm is executed. The color cold is as follows:

untitled

 

 

 

 

 

 

 

 

 

The process is quite interactive. The orange color is most undesirable as these regions are non-meshable and require further partitions. Once the region is correctly partitioned and subdivided regions become meshable, the color code is updated instantly. What the user needs to see is the combination of greens, yellows and pinks with peach at certain times before executing meshing operation. During meshing, user has option to either mesh one region at a time or the entire part having multiple regions. In case of interfaces having different element topologies on each side such as green with pink or yellow with pink, tie constraints are automatically created at the boundary to ensure mesh connectivity.

Below is an example of a part that has been partitioned to create certain sweep meshable yellow regions where brick elements are needed. The other region is pink with tetrahedral elements associated to it.

untitled

EFFECTIVE PARTITIONING

Transition of orange region to either yellow, green or peach requires intelligent partitioning of surfaces or solids. While there are many such partitioning tools available, achieving desired results with minimum partitions requires some practice in using these tools. Let’s highlight few of these partitioning methods:

Solid partitions:  Six options are available.

untitled

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

VIRTUAL TOPOLOGY

This is an optional process that may be needed before partitioning and prior to meshing. This is a way to fix bad CAD data. Many times CAD data has more details than needed by the meshing algorithm. This includes very short edges and very small surfaces. Virtual topology offers certain tools to combine such small faces and edges. There is also an option to suppress these small features so that meshing algorithm does not recognize them.

untitled

If you have been using Autodesk Inventor for a while you may already know this, but there is a process for migrating Inventor’s “Content Center” libraries.  This should be done to ensure you don’t end up with duplicate parts (file names) for the same fastener, pin or other common part.  When libraries are migrated, it allows the new software version and its updated libraries to recognize that a particular existing component is being placed.  The existing model will be utilized in this case.  If the libraries are not migrated, a whole new set of model files will get created when you start placing component from Content Center in a new version of Inventor.

Here is the general procedure:

  1. Determine where your current style library is located.  It may be in the default location for individual users, or may be in a common location.
  2. Launch the “Autodesk Inventor Style Library Manager”.  This is a separate program in Windows that isn’t started from within Inventor.
  3. In the “Style Library 1” area browse to your old style library that you located in step 1.  It should say that “some style collections need migration”.
  4. Select the Migrate button at the bottom

I also recommend backing up an previous style libraries before migrating them.  There have been various accounts of libraries failing to migrate and becoming corrupted.  Making a backup and testing the migration is imperative if you have extensive modifications in your existing style library.

Typically when new software releases come out, there are always a few really key improvements that really stand out.  Many times, it is a cool new modeling feature, or maybe an entirely new approach to design.  In Inventor, this might be like the addition of Freeform Modeling or Direct Editing as examples.  Unfortunately these are features or techniques that might not be applicable to many users.

If you are using both Autodesk Inventor and Vault together however, you should probably pay attention to this one:  The Vault status icons in the “recently used” area.  These icons now clearly identify the current Vault status of one of your recent files when in the Inventor “Open” dialog box.  Is the file checked out?  Is the file checked in, and up to date in my workspace? Has someone else modified the file since I last worked on it?  Have I checked in my latest development ideas or new parts yet?  All of these can be determined simply by noticing the Vault status bubbles in the “Open” dialog box.

Vault Status Icons

Any complete FEA solution has at-least three mandatory components: Pre-Processor, solver and post-processor. If you compare it with an automobile, solver is the engine that has all the steps/solution sequences to solve the discretized model. It can be regarded as the main power source of a CAE system. The pre-processor is a graphical user interface that allows user to define all the inputs into the model such as geometry, material, loads and boundary scenarios etc. In our automobile analogy, pre-processor can be regarded as the ignition key without which it is not possible to utilize the engine (solver) efficiently. The post-processor is a visualization tool to make certain conclusion from requested output: either text or binary. A good CAE workflow is regarded as one that offers closed loop CAD to CAD data transfer.

The above workflow is not closed so there is no scope of model update. Any changes in design requires all the rework. This has been the traditional workflow in organizations that have completely disconnected design and analysis departments. Designers send the CAD data to analysts who perform FEA in specialized tools and submit the product virtual performance report back to designers. If a change is mandatory, FEA is performed manually all over again. Let’s look at a better workflow.

In this workflow, if the initial design does not meet the design requirements, it is updated and sent to the solver, not to the pre-processor. It means that all the pre-processing steps are mapped from old design to new design without any manual intervention. This is an effort to bridge the gap between design and analysis departments that has been embraced by the industry so far. The extent to which the GAP can be bridged depends on the chosen workflow but to some extent, almost every CAE company has taken an initiative to introduce products that bridge this GAP. Let’s discuss in context of Dassault Systemes and Siemens.

Dassault Systemes: After acquiring Abaqus Inc in 2005, Dassault Systemes rebranded it as SIMULIA with the objective of giving users access to simulation capabilities without requiring the steep learning curve of disparate, traditional simulation tools. They have been introducing new tools to meet this objective.

  • The first one in series was Associative interfaces for CATIA, Pro-E and Solidworks which is a plug-in to Abaqus CAE. With this plug-in it is possible to automatically transfer the updated data from above mentioned CAD platforms to Abaqus CAE with a single click. All the CAE parameters in Abaqus CAE are mapped from old design to updated design. It’s a nice way to reduce re-work but design and simulation teams are still separate in this workflow.
  • Next initiative was SIMULIA V5 in which Abaqus was introduced in CATIA V5 as a separate workbench. This workbench includes additional toolbars to define Abaqus model and generate Abaqus input file from within CATIA. Introduce Knowledge ware, and user has all the nice features to perform DOE’s and parametric studies. This approach brings designers and analysts with CATIA experience under one roof.
  • Next Dassault Systemes introduced SIMULIA on 3D Experience platform allowing analysts to utilize data management, process management and collaboration tools with Abaqus in the form of simulation apps and roles. The solution is now in a mature stage with incorporation of process optimization, light weight optimization, durability and advanced CFD tools. By merging SIMULIA with BIOVIA we are also talking about multi scale simulation from system to molecular level. It is further possible to perform the simulation and store the data on public or private cloud.

Siemens PLM solutions: Siemens traditional CAE tools include FEMAP user interface and NX Nastran solver. Both have been specialized tools primarily meant for analysts with little or no connectivity to CAD. More specialized and domain specific tools were added with the acquisition of LMS and Mentor Graphics.

  • In 2016 Siemens introduced its new Simulation solutions portfolio called as Simcenter that includes all Siemens simulation capabilities that can be integrated with NX environment. The popular pre-processor in Simcenter series is NX CAE that has bi-directional associativity with NX CAD. Though meant for specialists, NX CAE offers a closed loop workflow between NX CAD and NX Nastran thus making easier to evaluate re-designs and perform DOE’s.
  • Siemens also offers NX CAE add-on environments for Abaqus and Ansys thereby allowing analysis to efficiently incorporate these solvers in their NX design environment.
  • It is further possible to use Simcenter solutions with Siemens well known PLM solution Teamcenter for enterprise wide deployment of Siemens simulation tools.

This shift in approach is not limited to Dassault Systemes and Siemens. Every organization in this space be it Ansys, Autodesk or Altair are introducing such closed form solutions. One reason may be the recent acquisition of many CAE companies by bigger organizations such as Dassault, Siemens and Autodesk. Nevertheless, the change has been triggered and it will continue.

 

 

Autodesk University Session: 60 Tips in 60 Minutes – Autodesk Inventor 2018 Quick Tips

Whether new to Inventor software or a seasoned pro, you’ll learn something from this fast-paced course that will highlight 60 Inventor tips in 60 minutes. We’ll showcase some of the less obvious commands or features and their location within the Inventor environment. Along the way we’ll look at how some of the tips work and how they might help you in your daily designing. So buckle up—we’ve got a lot to cover and only 60 minutes to get it done.

Find out more about Tim’s Autodesk University Session:  Autodesk University Session Registration

With an i GET IT subscription, login at https://myigetit.com to view the upcoming live technical sessions and recordings, including Tim’s Autodesk 2018 Quick Tips session recording.

 

About i GET IT Online Training Management for Engineers

i GET IT is an online engineering knowledge development and sharing tool, which specifically addresses the engineering community with an extensive MCAD/PLM training library, powerful customization tools, learning management features and assessment capabilities.

Unlike other generic learning providers, i GET IT is created by dedicated resources from industry PLM leaders at Tata Technologies. This allows us to offer the most comprehensive training solution for the leading engineering design and manufacturing applications plus industry skills, providing a consistent and updated offering for each release. It also allows i GET IT to consult directly with customers, providing customized solutions that fit your exact training needs and beyond.

So how does your company handle the training and skill advancement needs of your engineers?  Realize your design potential at https://myigetit.com

 

There is an interesting news regarding CATIA to be shared by composites user community. While almost all the composites related functionalities such as composites design by zones/plies, ply drop offs, core sampling, ply producibility, ply flattening, ply cut outs, lay-up export etc. have been existing as native CATIA offerings in composites workbenches, one valuable piece has been missing. That piece is called Laser Projection, a tool that can assist manufacturing guys in placing cut plies at right location on the tool. Earlier this functionality was offered through one of Dassault Systemes software partner called Majestic. However, Majestic got acquired by Autodesk a while ago so Dassault Systemes decided to develop a similar functionality in-house.

Laser Projection functionality was introduced in V5-6R 2016 release of CATIA, both in classic as well as in Express configurations and has been refined in service packs such as V5-6R 2016 SP2 and SP3. In classic configuration license is named as CLA and in express configuration license is named as LPX. Either CATIA composites design or manufacturing workbenches are a pre-requisite in either of these configurations. This technology is most suitable for most hand-layup parts such as panels, hulls, wind blades etc.

Within the application, it is possible to define any number of lasers by coordinates and assign properties to them such as its dimensions and range in terms of distance, horizontal and vertical angles. It is also possible to optimize the resource allocation. The reach envelope can be visualized to make sure largest ply in the model can be displayed with given number of lasers in the model. If not, more lasers can be defined or their positions can be changed.

The Laser Projection module is compatible with most commercial available vendor machines such as Virtek, LAP, LPT etc. The core thickness as well as plies thickness is automatically taken into account during projection. It is also possible to change display properties such as laser color, length of normal vectors etc. It is further possible to include additional geometry or text as a part of the display from predefined CATIA sets.

For any further information regarding licensing or functionality of this module, including a demonstration, please approach us and we are ready to help. It is also possible to import the laser projection files such as .py and .cal extensions to review the laser projections data in CATIA laser projection.

© Tata Technologies 2009-2015. All rights reserved.