» 博客 » 博客 » Abaqus UAMP (VUAMP) 子程序入门指南 | Abaqus 用户自定义振幅简介

Abaqus UAMP (VUAMP) 子程序入门指南 | Abaqus 用户自定义振幅简介

In this article you will read

目录

Main Article

Last updated on:

在世界里 有限元分析, 准确地表示 负载如何随时间变化 至关重要。这就是…… 载荷幅值定义 这时,Abaqus 就派上了用场。它为常见的载荷场景提供了各种预定义的振幅。但如果您需要模拟更复杂的载荷模式呢?这时 UAMP Abaqus(VUAMP Abaqus)就派上用场了。 Abaqus 用户自定义振幅 进入场景。UAMP 专为 Abaqus/Standard 仿真而设计,是一款功能强大的工具,允许您使用子程序定义自定义载荷变化。这些子程序甚至可以整合来自负载传感器 Abaqus UAMP 的数据,使您能够创建 高度真实且动态的载荷条件 适用于您的 Abaqus 模拟。.

本文将深入探讨 Abaqus 中的 UAMP 和 VUAMP 子程序,探索它们的功能、实现方式和潜在应用。阅读完本文后,读者将更好地理解这些强大的工具,以及如何利用它们来提高仿真的精度和效率。.

Load Amplitude Definition: Understanding the Role of Load Amplitude in Engineering Analysis

在 Abaqus 中,模型中定义的每个载荷或边界条件都需要一个幅值。幅值决定了载荷在加载步骤中随时间的变化(载荷幅值定义)。在模拟结构在各种载荷条件下的行为时,理解载荷幅值的概念至关重要。在 Abaqus 中,载荷幅值在准确预测结构对外部力的响应方面起着至关重要的作用。.

载荷幅值是指用户在模拟过程中可以施加到结构上的载荷大小。它是直接影响结构所承受的应力、应变和变形程度的重要参数。.

载荷幅值是Abaqus仿真中的关键参数。通过定义和调整载荷幅值,工程师可以深入了解结构行为,最终改进设计并提升性能。理解Abaqus中的载荷幅值对于进行全面可靠的有限元分析至关重要。.

Different available amplitudes in Abaqus

在 Abaqus 中,载荷幅值的定义方式多种多样,具体取决于分析类型。您可以从图 1 所示的列表中选择一种方式来定义 Abaqus 中的幅值。.

对于每个振幅,您需要输入所需的相应参数值,Abaqus 将根据输入的值创建振幅曲线。对于“用户”振幅,您必须提供 UAMP 或 VUAMP 子程序。您可以在图 2 中看到上述列表中一些最常见的振幅曲线。.Abaqus振幅

图 1:Abaqus 中可用的振幅列表

Abaqus中最常见的振幅曲线

图 2:Abaqus 中一些最常见的振幅曲线

现在,让我们定义并举例说明常见的 Abaqus 振幅,以便更好地理解它们。.

Abaqus 提供了多种预定义的幅值类型,用于控制载荷和边界条件随时间的变化。这些幅值定义可应用于不同类型的分析,例如静态分析、动态分析和热分析。.

1. Tabular Amplitude

  • 描述这允许您定义自定义的时间-振幅对。您可以指定一系列时间点及其对应的振幅值。Abaqus 随后会在这些点之间进行插值,从而创建一条连续曲线。.
  • 例子假设你想模拟建筑物随时间变化的风压。你可以输入不同时刻的风速,Abaqus 会平滑地插值计算这些变化。.

图 3 显示了数据点表及其对应的曲线。如图所示,当平滑选项设置为“使用求解器默认值”时,曲线的拐角会自动变圆。如果您想自行确定曲线曲率,则必须使用“指定”选项。.

表格振幅

图 3: 表格振幅曲线

2. Equally Spaced Amplitude

  • 描述与表格振幅类似,但无需同时指定时间和振幅值,只需指定振幅值,Abaqus 会假定它们之间的时间间隔相等。这简化了等间隔时间增量的数据输入。.
  • 例子假设一个结构以固定的时间间隔(例如,每 10 秒)承受均匀的力增量。您只需输入振幅值,Abaqus 会自动处理时间。.

等距

图 4: 等距曲线

3. Periodic Amplitude

  • 描述该振幅用于重复载荷或循环行为,例如振动或振荡。它使用傅里叶级数来定义一个以规则间隔重复的函数。.
  • 例子您可以模拟桥梁在重复交通荷载作用下的振动,模拟车辆不断通过桥梁时荷载的循环特性。.

在“编辑振幅”对话框中,“循环频率”等于图表重复的范围。“起始时间”和“初始振幅”分别表示绘制曲线的起始时间和幅度。“A”值等于添加到曲线起始位置的初始幅度值。“B”是曲线的振幅。.

周期振幅

图 5: 周期振幅曲线

4. Modulated Amplitude

  • 描述:将两个正弦函数组合起来,生成调制波形。当需要模拟具有周期性且强度随时间变化的负载时,此方法非常有用。.
  • 例子模拟风力涡轮机在常规风型和间歇性阵风中的运行情况。.

与周期振幅类似,初始振幅和起始时间分别表示曲线的起始幅值和起始时间。此外,振幅参数决定了曲线的范围。.

圆频率 1 是第一个正弦波的频率,它决定了主要的振荡频率;圆频率 2 是第二个正弦波的频率,它用于调制第一个正弦波,从而改变振荡模式。.

调制幅度

图 6: 调制幅度

5. Decay Amplitude

  • 描述这种振幅类型模拟了随时间呈指数级下降的载荷,非常适合模拟力或效应在初始冲击后逐渐减小的情况。.
  • 例子想象一下将一个物体扔进水中。起初冲击力会很大,但随着物体沉入水中,冲击力会迅速减小。.

对于此振幅,您应该定义初始振幅,即衰减开始之前载荷或边界条件的初始大小;最大振幅,即振幅开始衰减之前达到的最大值;起始时间,即模拟时间中衰减开始的点;衰减时间,即振幅从最大值减小到最终值所需的时间。.

衰减幅度

图 7: 衰减幅度

6. Smooth-Step Amplitude

  • 描述它采用五阶多项式来实现负载水平之间的平滑过渡。这避免了负载的突然跃变,使其非常适合在不产生剧烈变化的情况下逐步增加或减少负载。.
  • 例子对脆弱的结构施加负载时,应平稳地增加负载以防止冲击,然后再以类似的方式减少负载。.

平滑阶跃幅度

图 8: 平滑阶跃幅度

7. Solution-Dependent Amplitude

  • 描述这种高级振幅类型会根据仿真结果进行调整,使载荷取决于模型内的应变或应力等因素。.
  • 例子在超塑性成形过程中,材料性能在变形过程中会发生变化,施加的压力可以根据材料的应变速率自动调整,从而实时优化成形过程。.

8. Actuator Amplitude

  • 描述用于模拟执行器的行为,通常是液压缸或气缸等机械系统。振幅控制执行器随时间的运动或作用力。.
  • 例子模拟液压机对材料施加力,其中力根据执行器的控制系统而变化。.

9. Spectrum Amplitude

  • 描述:定义用于动态分析(例如地震荷载)的频谱,其中输入荷载随频率变化。.
  • 例子:利用反应谱模拟地震,将地震力施加到建筑物结构上。.

说到地震荷载,你知道吗? 混凝土重力坝设计 需要专门的分析来处理地震力吗? 我们的教程包将指导您使用 Abaqus 子程序进行地震分析,确保您的大坝设计能够应对挑战。.

10. PSD (Power Spectral Density) Amplitude

  • 描述这用于随机振动分析,表示功率在不同频率上的分布情况。它对于模拟随机环境振动至关重要。.
  • 例子:对车辆在道路引起的各种频率振动下的振动进行建模。.

11. User Amplitude

  • 描述这使得用户可以通过用户子程序定义自定义振幅,从而能够灵活地模拟复杂或高度专业化的加载条件。.
  • 例子:为机器部件定义自定义振动模式,使其具有超出预定义 Abaqus 振幅的特定操作行为。.

所以,这些是常见的 Abaqus 振幅曲线,对吧?那么用户自定义曲线呢,例如随时间变化的振幅曲线?您必须选择“用户”选项(参见)。 图 1然后使用 UAMP Abaqus 子程序。您问如何操作?请参阅此链接中的示例:“ABAQUS 中的 UAMP 子程序(VUAMP 子程序)

ABAQUS-Front 中的 UAMP 子程序(VUAMP 子程序)

本软件包在 Abaqus 中引入了 UAMP 和 VUAMP 子程序。UAMP 和 VUAMP 指的是用户自定义幅值。在 Abaqus 中,载荷幅值是指定义分析过程中施加于模型的载荷的大小和模式的时变函数。该幅值可以使用预定义的幅值函数来定义,也可以通过使用 UAMP 或 VUAMP 子程序创建用户自定义幅值。载荷幅值可以应用于各种类型的载荷,包括力、压力、位移和温度,从而允许在分析中模拟各种载荷场景。载荷幅值在确定模型随时间的响应方面起着至关重要的作用。UAMP 和 VUAMP 子程序可以通过数学时变函数或使用用户在分析中定义的传感器值来确定。在 Abaqus 中,传感器用于在仿真执行期间监控和提取数据。在这个软件包中,您将学习有关 UAMP 和 VUAMP 子程序的所有知识,包括它们的所有变量、如何使用它们、它们的区别以及其他内容,还有教学研讨会来帮助您理解如何使用这些子程序。.

Custom Amplitudes: UAMP Abaqus (VUAMP Abaqus)

在 Abaqus 中,您可以使用的振幅之一是“用户”振幅。如果使用用户振幅,则必须为模型提供 UAMP Abaqus 子程序(适用于 Abaqus Standard)或 VUAMP Abaqus 子程序(适用于 Abaqus Explicit)。.

尽管 Abaqus 提供了一个强大的预定义幅值库,但实际应用场景往往需要更复杂的载荷模式。UAMP Abaqus 应运而生,这款颠覆性的工具使用户能够通过编写子程序来定义自定义的时变载荷。此功能也适用于 Abaqus/Standard 仿真,从而可以创建高度精确的载荷行为,精确模拟真实世界的工况。.

继续阅读本文,了解有关 UAMP 子程序的更多具体信息。但需要注意的是,如果您需要一些示例,我建议您查看以下内容:“ABAQUS 中的 UAMP 子程序(VUAMP 子程序)

When do you need to use Abaqus user-defined amplitude?

答案是,当你的振幅:

  • 在预定义的 Abaqus 振幅中不可用。.
  • 取决于分析状态变量或属性。.
  • 使用溶液依赖型传感器。.

通过选择用户自定义振幅(Abaqus 用户自定义振幅),您可以自由定义任何您想要的随时间变化的振幅。在这种情况下,您可以使用数学上的随时间变化的函数或使用您在模型中定义的传感器来编写子程序。.

现在我们为您提供一些使用这两个子程序的示例。.

ٍExample 1:

假设你需要控制感应炉中样品的温度。例如,你正在进行电热分析,需要控制电流输入来控制样品温度。你可以通过用户自定义反馈控制子程序 UAMP 来控制样品加热速率。 [1].

ٍExample 2:

在一项研究中,为了分析水下浮动隧道的整体空间动力响应,使用UAMP子程序模拟水力阻力的影响。本例中,速度数据由传感器记录,然后传递给UAMP子程序以计算相应的水力阻力载荷幅值。图9展示了该过程的示意图。 [2]

uamp abaqus

图 9:水下浮式隧道 (SFT) 管体所受水力阻力示意图;各管段中心点的垂直速度 (Vvi) 和水平速度 (Vhi),水力阻力载荷幅值 (AMPvi 和 AMPhi)[2]

ٍExample 3:

有时您需要一个信号才能在特定时间停止分析。在 UAMP Abaqus 中,您可以设置一些标志,使 Abaqus 终止当前步骤,该步骤被定义为一个独立的加载事件(例如载荷循环,或裂纹扩展后的应力重新平衡)。 [3].

Load Sensor UAMP Abaqus: Understanding and Implementation

传感器是用于感知和记录指定位置参数值的功能。在 Abaqus 中,您可以定义传感器,以便在模型中定义的特定位置,按每个增量记录参数值,然后在 UAMP Abaqus 或 VUAMP Abaqus 等子程序中使用这些记录的数据。要定义传感器,您必须遵循以下说明:

  • 必须将传感器与特定的标量输出变量(U1、CTF3 等)唯一关联起来。
  • 您必须在历史记录输出定义中指定传感器名称,并且每个传感器只能定义一个节点输出、单元输出或全表面请求。对于全表面接触或接触对输出请求,仅接受接触压力引起的总力的大小和中心位置(分别为 CFNM 和 XN)。.
  • 因为命名传感器在给定时间必须是唯一的实数,所以用于定义传感器的节点集或元素集必须只包含一个成员。.
  • 无论用户指定的输出频率如何,传感器数据在分析过程中都会在每个增量周期进行计算。但是,数据会根据用户指定的频率写入输出数据库。.

要在 Abaqus/CAE 中定义传感器,在按照上述说明创建历史输出后,必须单击“当可用时包含传感器”复选框,如图 10 所示。.

Abaqus中的传感器定义

图 10:Abaqus 中的传感器定义

现在,你想自己尝试这些例子吗?第一步是从简单的入手,理解这个子程序是如何工作的。怎么做呢?请看这里:

ABAQUS-Front 中的 UAMP 子程序(VUAMP 子程序)

本软件包在 Abaqus 中引入了 UAMP 和 VUAMP 子程序。UAMP 和 VUAMP 指的是用户自定义幅值。在 Abaqus 中,载荷幅值是指定义分析过程中施加于模型的载荷的大小和模式的时变函数。该幅值可以使用预定义的幅值函数来定义,也可以通过使用 UAMP 或 VUAMP 子程序创建用户自定义幅值。载荷幅值可以应用于各种类型的载荷,包括力、压力、位移和温度,从而允许在分析中模拟各种载荷场景。载荷幅值在确定模型随时间的响应方面起着至关重要的作用。UAMP 和 VUAMP 子程序可以通过数学时变函数或使用用户在分析中定义的传感器值来确定。在 Abaqus 中,传感器用于在仿真执行期间监控和提取数据。在这个软件包中,您将学习有关 UAMP 和 VUAMP 子程序的所有知识,包括它们的所有变量、如何使用它们、它们的区别以及其他内容,还有教学研讨会来帮助您理解如何使用这些子程序。.

UAMP and VUAMP Abaqus subroutines structures

在 Abaqus 中选择“用户”振幅后,您需要使用 UAMP 或 VUAMP 子程序来定义振幅。如果您使用的是 Abaqus/Standard 版本,则需要编写 UAMP 子程序;如果您使用的是 Abaqus/Explicit 版本,则必须编写 VUAMP 子程序。.

您可以在这两个子程序中将振幅定义为解析函数,也可以使用您在模型中定义的传感器值。.

这两个子程序都由三个主要部分组成:

  • Section 1:

UAMP/VUAMP 子程序的第一部分介绍了变量。变量用于定义振幅,可以分为三组:

1) “待定义变量”是指用于存储程序处理过程中某个阶段获得的值或中间结果,以便进行后续处理或显示的变量。

2) “可更新变量”是指在每个时间增量结束时可以更新的变量,以便在后续增量中使用更新后的值。.

3) “作为信息传递的变量”是指您不得在子程序中重新定义这些变量的变量。.

  • Section 2:

子程序的第二部分用于定义参数和标志。标志用于指示或确定参数的计算状态。例如,如果某个参数的标志值为 1,则必须在子程序中提供该参数的计算公式;否则,该参数的值将自动计算。.

  • Section 3:

第三部分定义了数组的维度和特征。您必须在本部分中将用户振幅公式编写为子程序。.

5.1. VUAMP 和 UAMP Abaqus 子程序之间的差异

这两个子程序的主要区别在于它们在 Abaqus 中使用的求解器。对于 Abaqus/Standard,必须使用 UAMP 子程序;对于 Abaqus/Explicit,必须使用 VUAMP 子程序。.

这些变量的定义几乎相同,但对于某些“可更新的变量”和“作为信息传递的变量”可能会有所不同。.

概括

振幅函数对于在 Abaqus 仿真中精确表示时变载荷和边界条件至关重要。它们对于在有限元分析中捕捉瞬态、动态和用户自定义载荷场景必不可少。Abaqus 中可用的振幅函数之一是“User”,但需要您为其提供子程序。Abaqus 文档中为此目的引入了两个子程序:“UAMP”和“VUAMP”。(UAMP Abaqus)(VUAMP Abaqus)

用户子程序幅值“UAMP”和“VUAMP”是Abaqus仿真环境中自定义时变载荷条件的强大工具,使工程师能够在仿真中准确捕捉结构和部件的真实行为。.

UAMP 和 VUAMP 子程序均在 Abaqus 中提供了高级仿真功能。用户可以定义实际情况下存在的任何振幅,无论其多么复杂。. 

用户提出这些问题

现在,我们来看看用户关于他们收藏夹中振幅和振幅大小调整的一些问题。当时我们尽力解答了他们的问题。.

一、用户是否可以更新每次增量中的节点力?

问: 我正在 Abaqus Standard(动态隐式方法)中进行动态分析,其中,对于每个增量,我们必须从外部(或从文本文件中)给出节点力。.

我们可以使用 DLOAD 子程序给出非均匀分布的负载,但它适用于积分点,不适用于节点。.

另一种方法是在每个增量中更新输入文件,添加新的节点力,然后运行作业;这样,分析就变成了准静态分析。.

一个: 你可以通过集中力来施加节点力,并通过振幅随时间改变节点力。.

但那样的话,我们就没有办法在每个增量中控制或更新节点力了。.

通过添加振幅,您可以将节点力定义为增量或函数。如果您在分析初期不知道节点力随时间的变化情况,并且节点力是基于该时间段内的结果定义的,则需要使用 UAMP 子程序或脚本。.

您提到了 DLOAD 子程序。您应该使用 UAMP 子程序来控制传感器工作期间的振幅。.

这个包裹“ABAQUS 中的 UAMP 子程序(VUAMP 子程序)” introduces UAMP and VUAMP subroutines in Abaqus (UAMP Abaqus). The UAMP and VUAMP refer to User-Defined amplitude. In Abaqus, load amplitude refers to the time-varying function that defines the magnitude and pattern of a load applied to a model during analysis. This amplitude can be defined using predefined amplitude functions or by creating a user-defined amplitude using the UAMP or VUAMP subroutines.

The load amplitude can be applied to various types of loads including force, pressure, displacement, and temperature, allowing for a wide range of loading scenarios to be simulated in the analysis. The load amplitude plays a critical role in determining the response of the model over time. The UAMP and VUAMP (UAMP Abaqus, VUAMP Abaqus) subroutines can be determined by a mathematical time-dependent function or using sensor values that are defined by the user in analysis.

In Abaqus, sensors are used to monitor and extract data from a simulation during its execution. In this package, you will learn all about the UAMP and VUAMP subroutines, all of their variables, how to work with them, their differences, and other things along with educational workshops to help you understand working with these subroutines.

ABAQUS-Front 中的 UAMP 子程序(VUAMP 子程序)

本软件包在 Abaqus 中引入了 UAMP 和 VUAMP 子程序。UAMP 和 VUAMP 指的是用户自定义幅值。在 Abaqus 中,载荷幅值是指定义分析过程中施加于模型的载荷的大小和模式的时变函数。该幅值可以使用预定义的幅值函数来定义,也可以通过使用 UAMP 或 VUAMP 子程序创建用户自定义幅值。载荷幅值可以应用于各种类型的载荷,包括力、压力、位移和温度,从而允许在分析中模拟各种载荷场景。载荷幅值在确定模型随时间的响应方面起着至关重要的作用。UAMP 和 VUAMP 子程序可以通过数学时变函数或使用用户在分析中定义的传感器值来确定。在 Abaqus 中,传感器用于在仿真执行期间监控和提取数据。在这个软件包中,您将学习有关 UAMP 和 VUAMP 子程序的所有知识,包括它们的所有变量、如何使用它们、它们的区别以及其他内容,还有教学研讨会来帮助您理解如何使用这些子程序。.

看看会很有帮助 Abaqus 文档 要理解为什么在没有任何辅助工具的情况下启动 Abaqus 仿真会如此困难 Abaqus教程.

需要注意的是,在使用 Abaqus 进行仿真时,务必注意输入数值的单位。没错!Abaqus 本身没有单位,但您输入的数值必须使用一致的单位。您可以了解更多相关信息。 Abaqus中的单位制.

Related 文章

Author

培训组

Your 评论

发表回复

本软件包在 Abaqus 中引入了 UAMP 和 VUAMP 子程序。UAMP 和 VUAMP 指的是用户自定义幅值。在 Abaqus 中,载荷幅值是指定义分析过程中施加于模型的载荷的大小和模式的时变函数。该幅值可以使用预定义的幅值函数来定义,也可以通过使用 UAMP 或 VUAMP 子程序创建用户自定义幅值。载荷幅值可以应用于各种类型的载荷,包括力、压力、位移和温度,从而允许在分析中模拟各种载荷场景。载荷幅值在确定模型随时间的响应方面起着至关重要的作用。UAMP 和 VUAMP 子程序可以通过数学时变函数或使用用户在分析中定义的传感器值来确定。在 Abaqus 中,传感器用于在仿真执行期间监控和提取数据。在这个软件包中,您将学习有关 UAMP 和 VUAMP 子程序的所有知识,包括它们的所有变量、如何使用它们、它们的区别以及其他内容,还有教学研讨会来帮助您理解如何使用这些子程序。.