Functions
Files
- MassSourceComponent.cs
This file defines a Grasshopper component named `MassSourceComponent` that configures mass source definitions for structural analysis in SAP. It allows users to specify a name and toggle whether mass contributions are derived from elements, assigned masses, or load patterns. Key inputs include boolean flags for these sources and optional lists of load pattern names with corresponding multipliers. The component validates that the number of load patterns matches their multipliers before proceeding. Finally, it packages this configuration into a `MassSourceModel`, wraps it in a `GH_FunctionDefinition`, and outputs the resulting object for downstream use.
- ModalEigenComponent.cs
`ModalEigenComponent.cs` is a Grasshopper plugin component designed to define modal eigenvalue load cases for structural analysis within SAP. It accepts various configuration inputs, including mode limits, initial conditions from previous analyses, and specific numerical parameters like eigenvalue shifts, cutoff frequencies, and convergence tolerances. The component validates these inputs, ensuring that any provided initial case is a valid load case and that Ritz loads are correctly typed as modal target accelerations. It then aggregates this data into a `ModalEigenModel` object, handling optional parameters by applying default values where necessary. Finally, it outputs the constructed model as a generic `GH_Case` object for use in subsequent simulation steps.
- ModalRitzComponent.cs
This file defines `ModalRitzComponent`, a Grasshopper plugin component designed to configure Modal Ritz load cases for SAP structural analysis. It functions as a definition tool that accepts user inputs such as the case name, mode range limits, an optional initial reference case, and acceleration loads. The core logic resides in the `SolveInstance` method, which validates these inputs and constructs a `ModalRitzModel` object containing the specified parameters. Key components include input registration for names, integer ranges, generic case references, and list-based load types, alongside output generation of a structured `GH_Case` object. The component ensures data integrity by verifying that provided loads are specifically modal ritz acceleration types before finalizing the model.
- ModalRitzLoadComponent.cs
`ModalRitzLoadComponent.cs` is a Grasshopper plugin component that configures modal Ritz acceleration loads for SAP structural analysis. It allows users to specify the load direction, target mass participation ratio, and maximum generation cycles via integer inputs. The core logic constructs a `ModalTargetLoadModel` object with these parameters and wraps it in a `GH_FunctionDefinition`. This defined function is then output as a generic data type for downstream processing. Key components include input parameter registration, model instantiation, and integration with the FeMM framework's helper classes.
- ResponseSpectrumComponent.cs
This file defines a Grasshopper component named `ResponseSpectrumComponent` within the FeMM framework, designed to create and manage response spectrum definitions for structural analysis software like SAP. It serves as a data input tool that accepts parameters such as a name, arrays of periods and corresponding values, and an optional damping ratio to construct a functional model. The core logic resides in the `SolveInstance` method, which validates that the period and value arrays match in length and that the damping ratio is within the valid range of 0 to 1. Upon successful validation, it instantiates a `ResponseSpectrumFunctionModel` object and wraps it in a Grasshopper-compatible generic parameter for downstream use. Key components include input registration for text and numeric lists, error handling for mismatched array lengths or invalid damping values, and the final output of a structured function definition.