---
description: Description of the Geometry Gym Solver Component
---

# Solver

## Solver

A number of our structural analysis plug-ins allow for the automated analysis and results extraction from a structural analysis application. Where available the **ggSolver** component can be used to automate the solving of a Structural Analysis model which has been generated using Geometry Gym components in Grasshopper.

These tools can be quite helpful for some of the following applications:

* To quickly understand what the effects of editing geometry or structural properties have on the structural analysis results.
* Automate Generative Design and Structural Optimisation procedures

Components which relate to the automation of an analysis solver are found under the **ggSolver** panel under the respective structural analysis application plug-ins.

![The SAP2000 Solver Panel in Grasshopper](https://2594167310-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LSS3F7HK0Nk5Ql9jbdt%2Fuploads%2Fgit-blob-ee402b2483e4a38ba7e9278f7b616d6b998fa2a6%2Fimage%20\(57\).png?alt=media)

## Solver

The **ggSolver** component can be used to trigger the running of a structural analysis model and retrieve those results back into Grasshopper.

The solver component completes the following steps once the _Enabled_ input is set to true:

1. **Bake the model** (This is similar to using the ggbake component). Refer to solver baking options below for some of the additional options available when the model is baked from the solver component.
2. **Triggers the running of the structural analysis solver** within the structural analysis program. A given list of load cases and combinations to run is populated from the result queries as well as any additional provided in the _Load Cases or Combinations_ input.
3. **Extract results** for the provided Result Queries

![Close up of the Solver component](https://2594167310-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LSS3F7HK0Nk5Ql9jbdt%2Fuploads%2Fgit-blob-4bfdd4c220f95706477b547f4e63501aa559498c%2Fimage%20\(55\).png?alt=media)

### Setting up the solver component

{% hint style="info" %}
Remember to disable the solver by setting Enabled input to **false** until you are ready to solve as this component can be computationally demanding. It is also recommended that it is only enabled when required and then set to false when not.
{% endhint %}

The main inputs required prior to running the solver components are:

**Load cases and combinations:** Here you can specify a flattened list of load cases and combinations to be solved. Sometimes you may want to ensure that some Load cases and combinations are run regardless of whether there is a query associated with them. Therefore, this is an optional input.

**Result Query:** A flattened list of the specific results to be queried and extracted once the load cases and combinations have been run in the structural analysis program. The solver component does attempt to collect a list of the required load case and combinations required to provide the query without the user having to manual specify this through the load cases input above, however, sometimes it may be necessary to manually provide. See more about result queries on the next page.

To run the component and retrieve the queried results enable the component with a Boolean toggle.

#### Solver Baking Options

**Model File:** The _Model File_ input can be used to set the save location of the file if you would like to save it once run. Some applications require the model to be saved in the application before the solver can be executed. If this is the case and no Model File location has been set by the user then it is saved to a default location. This is typically where the Grasshopper script is saved.

**Template File:** The _Template File_ file input provides the ability to open an existing model file PRIOR to baking the Geometry Gym structural analysis model into the application. This allows for a standard set of properties to be defined in a template file. It may also allow the user to set advanced program features that are not currently available to be set with the Geometry Gym components.

{% hint style="warning" %}
If there are program-specific settings which you cannot find available to set within the plug-in component set please contact us to see if this is available or to add.
{% endhint %}

**Close File:** With some applications, you have the option of closing the file after the analysis and result extraction has run.

**New Model:** The _New Model_ option allows you to update an existing structural analysis instance (which has previously been baked) or create a completely new model each time. There may be performance benefits of choosing to update a model rather than creating a new model, however this should check carefully as performing updates on models with large geometric changes can be problematic.

### Analysis Types

Structural analysis applications typically have a number of different solver methods. i.e Static Analysis, Non-Linear, Response Spectrum. Each program sets this up differently, so it will vary on how this is set-up although the analysis types available can typically be found under the solver tab.

These will likely change for most structural applications. You can visit the specific sites for more information on program-specific information.

{% hint style="warning" %}
If an analysis type you would like to run is not available then please contact us.
{% endhint %}

### Solver Options

Solver options typically relate to options available when running the solver within the specific structural analysis application. These will likely change for most structural applications. You can visit the specific sites for more information on program-specific information.

## Typical Solver Issues

As the solver component is completing a number of operations it is prone to errors. Some of the typical errors below may help you troubleshoot some typical errors. If the solver component goes into error mode (turns red) hover over the error bubble to get more context on where the error is occurring.

{% hint style="warning" %}
If you can not solve the issue then please send a copy of your script to use to troubleshoot further.
{% endhint %}

#### Q: Results are not available for the provided result:

**A:** Some possible reasons why results may not be available:

* The load case has not been run correctly. You should check the program to ensure that all the required load cases have run successfully. If a load case has not been run you should force it to be solved by providing it to the Load Cases and Combinations input of the solver component.
* If the program does not provide results for the provided load case. i.e you are requesting beam force results for a modal load case.
