FEModel¶
FEModel
¶
- class guwlib.FEModel¶
Instances of this class act as a container for all simulation parameters.
An
FEModel
instance carries general simulation parameters (e.g. discretization level) as well as spatial and time/loading data (e.g. plate, defects, transducers, excitation signals to be used in the simulation).To create a valid GUWlib model, you have to instantiate an
FEModel
object in your python script. Override itssetup_parameters()
method to define your simulation by setting its variables. To set the model up in ABAQUS/CAE, call itssetup_in_abaqus()
method. Seemodels/examples/
for reference.- Variables:
plate (Plate) – Plate of the FE model.
transducers (list[Transducer]) – A list with the transducers applied to the plate.
defects (list[Defect]) – A list with the defects (cracks, holes, …) of the plate.
load_cases (list[LoadCase]) – A list with load cases (transducer excitation data) for the simulation.
max_frequency (float) – Specifies the maximum frequency up to which the plate will be excited. Used to determine an appropriate mesh size.
elements_per_wavelength (int) – Number of elements per wavelength to be used for spatial discretization (decisive is the smallest wavelength in range [0, max_frequency] that occurs in the plate, according to the dispersion data of the material), (default: 16).
elements_in_thickness_direction (int) – Number of elements along the thickness direction of the plate to be used for spatial discretization (default: 8).
courant_number (float) – Used for the computation of the maximum time increment of the explicit solver, according to CFL condition (default: 0.5).
model_approach (str) – Specifies which script to use to build the FE model in ABAQUS/CAE, either
'point_force'
or'piezo_electric'
(default:'point_force'
).
Methods:
- setup_parameters()¶
Abstract method to be overridden in inherent classes to set up the models parameters.
- setup_in_abaqus()¶
Calls the function that creates the FE model in ABAQUS/CAE, depending on the
model_approach
attribute. A basic check for inconsistencies in the model definition is performed beforehand.
- get_element_size_thickness()¶
Compute the required element size in thickness direction of the plate.
- Returns:
(float) Element size used for in-thickness discretization of the plate.
- get_element_size_in_plane()¶
Compute the required in-plane element size of the plate, based on the minimal wavelength occurring in the range [0,
max_frequency
].- Returns:
(float) Element size used for in-plane discretization of the plate.
- get_max_time_increment()¶
Computes the maximum time increment according to the CFL condition with the desired courant number.
- Returns:
(float) Maximum time increment used for time integration in ABAQUS/Explicit.