ANSYS APDL中使用SF和SFFUN命令,对不同节点施加不同大小的面载荷

2024-06-09 13:04

本文主要是介绍ANSYS APDL中使用SF和SFFUN命令,对不同节点施加不同大小的面载荷,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

SF命令通常是对 所选择的节点集合 施加同样大小的载荷,如:

NSEL, S, LOC, Y, 5                    ! 选择y坐标值为5的全部结点
SF, ALL, PRES, 1                      ! 施加均布荷载

完整命令流: 

Finish					!退出当前处理器
/Clear,all				!清除所有
!开大写无法粘贴到命令行窗口里面
/UNITS, USER, MM
!units:N,mm,t!创建几何
/Prep7					!访问前处理器
Block,0,60,-5,5,-3,3	!创建六面体
/View,,1,1,1			!设置视图
Vplot					!Plot volumes!定义属性
ET, 1, SOLID185			!定义单元类型
MP, EX, 1, 2E11			!定义弹性模量
MP, NUXY, 1, 0.3		!定义泊松比!网格划分
TYPE, 1                               ! 激活单元类型号1
MAT, 1                                ! 激活材料号1
ESIZE, 3                              ! 单元尺寸设置为3
VMESH, ALL                            ! 执行分网
EPLOT                                 ! Plot Elements
FINISH                                ! 退出当前处理器!设置边界条件
/SOLU                                 ! 访问求解器
NSEL, S, LOC, X, 0                    ! 选择x坐标值为0的全部结点
D, ALL, ALL, 0                        ! 指定边界条件为固定约束
ALLSEL,ALL                            ! 全选!施加均布载荷
NSEL, S, LOC, Y, 5                    ! 选择y坐标值为5的全部结点
SF, ALL, PRES, 1                      ! 施加均布荷载ALLSEL,ALL                            ! 全选!施加集中载荷
N1 = NODE(60,-5,-3)                   ! 获取坐标值为(60,-5,-3)的结点编号
N2 = NODE(60,-5,3)                    ! 获取坐标值为(60,-5,3)的结点编号
F, N1, FY, -50                        ! 施加集中荷载
F, N2, FY, -50                        ! 施加集中荷载
ALLSEL,ALL                            ! 全选
EPLOT                                 ! Plot Elements!求解
ANTYPE,STATIC                         ! 设置分析类型为静力分析
SOLVE                                 ! 提交求解器进行求解FINISH                                ! 退出当前处理器

由于SF命令无法对单个节点使用,想要对不同节点施加不同大小的PRES载荷时就无法采用这种简单的先选择目标节点,再施加载荷的形式。

可采用SFFUN命令定义节点号和面荷载的函数关系,实现对不同节点施加不同大小的SF载荷。

首先要定义一个数组,数组中的值的位置(数组下标)表示节点号数组值表示荷载的大小

如下面的命令流中, nodepres数组中的数组下标从1-100表示节点号,每个节点的载荷大小为节点号乘以10。

定义完数组后,使用SFFUN命令流定义节点号和面荷载的函数关系:sffun,pres,nodepres(1)。

随后使用SF命令施加载荷:

sf,all,pres,0表示按照数组下标—数组值施加(该面荷载节点上的值为i*10,i表示节点号),

sf,all,pres,10表示在数组值的基础上加10(该面荷载节点上的值为10+i*10,i表示节点号)。

完整命令流: 

Finish					!退出当前处理器
/Clear,all				!清除所有
!开大写无法粘贴到命令行窗口里面
/UNITS, USER, MM
!units:N,mm,t!创建几何
/Prep7					!访问前处理器
Block,0,60,-5,5,-3,3	!创建六面体
/View,,1,1,1			!设置视图
Vplot					!Plot volumes!定义属性
ET, 1, SOLID185			!定义单元类型
MP, EX, 1, 2E11			!定义弹性模量
MP, NUXY, 1, 0.3		!定义泊松比!网格划分
TYPE, 1                               ! 激活单元类型号1
MAT, 1                                ! 激活材料号1
ESIZE, 3                              ! 单元尺寸设置为3
VMESH, ALL                            ! 执行分网
EPLOT                                 ! Plot Elements
FINISH                                ! 退出当前处理器*dim,nodepres,,100		! 定义数组nodepres*do,i,1,100
nodepres(i)=i*10.0 		! 为数组赋值
*enddosffun,pres,nodepres(1) 	! 定于节点号与面荷载函数关系
nsel,s,loc,y,5			! 选择节点群
sf,all,pres,10
sflist					! 面荷载列表(该面荷载节点上的值为10+i*10)
*do,i,1,100
nodepres(i)=i*50.0
*enddo
nsel,s,loc,z,3
sf,all,pres,0
allsel
sflist

官方例子:

*dim,nodepres,array,2
nodepres(1)=11,12
/prep7
et,1,42
n,1
n,2,1
n,3,1,1
n,4,,1
e,1,2,3,4
sfe,1,1,pres,1,3
sfelist ! expected answer: 3 at both nodes 1 and 2 
sfedel,all,pres,all
sffun,pres, nodepres(1)
sfe,1,1,pres,1,5
sfelist ! expected answer: 5+11=16 at node 1, 5+12=17 at node 2
finish

注意:必须为每个数组参数向量定义起始数组元素编号——如果想要对节点号为10-100的节点施加载荷,定义的数组仍然需要从1到100,只是对数组中1-9的元素没有赋值而已(载荷值默认为0),如下:

*do,i,10,100
nodepres(i)=i*10.0         ! 为数组赋值
*enddo

参考:

【ANSYS命令流】加载与求解技术(四):面载荷(节点)的施加 [重点]_ansys建立简支梁模型节点施加荷载-CSDN博客

SFUN --- SFFUN (ansys.com)

这篇关于ANSYS APDL中使用SF和SFFUN命令,对不同节点施加不同大小的面载荷的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1045249

相关文章

使用Python实现IP地址和端口状态检测与监控

《使用Python实现IP地址和端口状态检测与监控》在网络运维和服务器管理中,IP地址和端口的可用性监控是保障业务连续性的基础需求,本文将带你用Python从零打造一个高可用IP监控系统,感兴趣的小伙... 目录概述:为什么需要IP监控系统使用步骤说明1. 环境准备2. 系统部署3. 核心功能配置系统效果展

使用Java将各种数据写入Excel表格的操作示例

《使用Java将各种数据写入Excel表格的操作示例》在数据处理与管理领域,Excel凭借其强大的功能和广泛的应用,成为了数据存储与展示的重要工具,在Java开发过程中,常常需要将不同类型的数据,本文... 目录前言安装免费Java库1. 写入文本、或数值到 Excel单元格2. 写入数组到 Excel表格

redis中使用lua脚本的原理与基本使用详解

《redis中使用lua脚本的原理与基本使用详解》在Redis中使用Lua脚本可以实现原子性操作、减少网络开销以及提高执行效率,下面小编就来和大家详细介绍一下在redis中使用lua脚本的原理... 目录Redis 执行 Lua 脚本的原理基本使用方法使用EVAL命令执行 Lua 脚本使用EVALSHA命令

Java 中的 @SneakyThrows 注解使用方法(简化异常处理的利与弊)

《Java中的@SneakyThrows注解使用方法(简化异常处理的利与弊)》为了简化异常处理,Lombok提供了一个强大的注解@SneakyThrows,本文将详细介绍@SneakyThro... 目录1. @SneakyThrows 简介 1.1 什么是 Lombok?2. @SneakyThrows

使用Python和Pyecharts创建交互式地图

《使用Python和Pyecharts创建交互式地图》在数据可视化领域,创建交互式地图是一种强大的方式,可以使受众能够以引人入胜且信息丰富的方式探索地理数据,下面我们看看如何使用Python和Pyec... 目录简介Pyecharts 简介创建上海地图代码说明运行结果总结简介在数据可视化领域,创建交互式地

Java Stream流使用案例深入详解

《JavaStream流使用案例深入详解》:本文主要介绍JavaStream流使用案例详解,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录前言1. Lambda1.1 语法1.2 没参数只有一条语句或者多条语句1.3 一个参数只有一条语句或者多

Java Spring 中 @PostConstruct 注解使用原理及常见场景

《JavaSpring中@PostConstruct注解使用原理及常见场景》在JavaSpring中,@PostConstruct注解是一个非常实用的功能,它允许开发者在Spring容器完全初... 目录一、@PostConstruct 注解概述二、@PostConstruct 注解的基本使用2.1 基本代

C#使用StackExchange.Redis实现分布式锁的两种方式介绍

《C#使用StackExchange.Redis实现分布式锁的两种方式介绍》分布式锁在集群的架构中发挥着重要的作用,:本文主要介绍C#使用StackExchange.Redis实现分布式锁的... 目录自定义分布式锁获取锁释放锁自动续期StackExchange.Redis分布式锁获取锁释放锁自动续期分布式

springboot使用Scheduling实现动态增删启停定时任务教程

《springboot使用Scheduling实现动态增删启停定时任务教程》:本文主要介绍springboot使用Scheduling实现动态增删启停定时任务教程,具有很好的参考价值,希望对大家有... 目录1、配置定时任务需要的线程池2、创建ScheduledFuture的包装类3、注册定时任务,增加、删

使用Python实现矢量路径的压缩、解压与可视化

《使用Python实现矢量路径的压缩、解压与可视化》在图形设计和Web开发中,矢量路径数据的高效存储与传输至关重要,本文将通过一个Python示例,展示如何将复杂的矢量路径命令序列压缩为JSON格式,... 目录引言核心功能概述1. 路径命令解析2. 路径数据压缩3. 路径数据解压4. 可视化代码实现详解1