首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

有限元知识 | 剪切、体积

一.剪切(shear locking) 简单地说就是在理论上没有剪切变形的单元中发生了剪切变形。该剪切变形也常称伴生剪切( parasitic shear)。...解决方法: 1.采用减缩积分; 2.细化网格; 3.非协调单元; 4.假定剪切应变法; 二.体积(volumetric locking) 简单地说就是应该有单元的体积变化的时候体积却没发生变化...二阶单元:对于弹塑性材料(塑性部分几乎属于不可压缩),二阶全积分四边形和六面体单元在塑性应变和弹性应变在一个数量级时会发生体积。二次减缩积分单元发生大应变时体积也伴随出现。...但值得注意的是,一阶全积分单元当采用选择性减缩积分(selectively reduced integration)时可以避免出现体积。 产生的结果:使得体积不变,即体积模量太大,刚度太刚。...检查方法: 输出积分点的围压应力,分析围压应力是否在相邻积分点存在突变,是否显棋格式分布,是的话就说明出现体积

2.2K70
您找到你想要的搜索结果了吗?
是的
没有找到

Linux进程间通信:文件和文件

本文更加偏重的是Linux环境提供了多少种文件以及他们的区别是什么? flock和lockf 从底层的实现来说,Linux的文件主要有两种:flock和lockf。...从应用的角度来说,Linux内核虽然号称具备了强制的能力,但其对强制性的实现是不可靠的,建议大家还是不要在Linux下使用强制。...事实上,在我目前手头正在使用的Linux环境上,一个系统在mount -o mand分区的时候报错(archlinux kernel 4.5),而另一个系统虽然可以以强制方式mount上分区,但是功能实现却不完整...鉴于此,我们就不在此介绍如何在Linux环境中打开所谓的强制支持了。我们只需知道,在Linux环境下的应用程序,flock和lockf在是类型方面没有本质差别,他们都是建议,而非强制。...就是说,父进程如果加锁了,子进程也将持有这把,父进程没加锁,子进程由于地址空间跟父进程是独立的,所以也无法通过FILE结构体检查别的进程的用户态空间是否家了标准IO库提供的文件

7.6K13

java开发操作系统:不控制台的加载用户进程

当我们启动用户进程时,如果进程是含有图形界面的程序,那么控制器会从控制台转移到用户进程,这时产生的一个副作用是,控制台的光标停止闪烁,即使点击键盘,键盘的按键信息也不会在控制台上出现,也就是说因为CPU...的执行控制器转移到了用户进程的代码,控制台自己的代码无法得到执行,因而被死了。...首先我们将开放一个命令叫start, 就像windows一样,在控制台中输入该命令,后面跟着要启动的程序名称,那么控制台就会启动相应程序,程序启动后,控制台还能继续接收命令,也就是控制台进程不应启动新进程而被...所以它先把队列包含的进程对象设置为0,然后把start命令后面字符串每个字符对应的扫描码传入新进程的消息队列,然后再从新恢复队列指向的进程对象,最后把一个回车符的扫描码传入队列,这样新控制台的进程就会被激活...ncst 后面跟着hlt ,当控制台执行后,用户进程启动,并且不附带一个新的黑色控制台窗口,同时原控制台窗口并未

74020

磕Synchronized底层实现--偏向

更多文章见个人博客:https://github.com/farmerjohngit/myblog 本系列文章将对HotSpot的synchronized实现进行全面分析,内容包括偏向、轻量级、重量级的加锁...主要包括以下几篇文章: 磕Synchronized底层实现--概论 磕Synchronized底层实现--偏向 磕Synchronized底层实现--轻量级(待更新) 磕Synchronized...底层实现--重量级(待更新) 本文将分为几块内容: 1.偏向的入口 2.偏向的获取流程 3.偏向的撤销流程 4.偏向的释放流程 5.偏向的批量重偏向和批量撤销 本文分析的JVM版本是JVM8...偏向入口 目前网上的很多文章,关于偏向源码入口都找错地方了,导致我之前对于偏向的很多逻辑一直想不通,走了很多弯路。...偏向的撤销 这里说的撤销是指在获取偏向的过程因为不满足条件导致要将对象改为非偏向状态;释放是指退出同步块时的过程,释放的逻辑会在下一小节阐述。请读者注意本文中撤销与释放的区别。

1.8K30

day37(多进程)- 多进程、守护进程进程

== '__main__': p_obj = Process(target=action, args=()) # 设置 .daemon = True,子进程跟着父进程一起 #...1) print('p进程是否存活->', p_obj.is_alive()) 5.关于如何使用进程 # 本质上多进程的时候,阻塞其他进程,只允许一个进程操作 # # # 任何进程只要使用了同一个对象...,就全部都受这把的管理 # lock.acquire(),上锁 # lock.release(),解锁 5.1 多进程执行同一个函数,可以管控到(并发时访问同一个业务) from multiprocessing...,使用了同一个对象,依然可以管控进程(并发时访问不同业务) from multiprocessing import Process, Lock import time def action(pro...Lock() # p_1 执行的是 action1 # p_2 执行的是 action2 # p_3 执行的是 action3 # 彼此不干扰 # 测试结果发现

96300

Linux内核编程--进程控制,线程控制,机制

1.互斥 互斥可以确保同一时间只有一个线程能访问指定数据。...互斥的用法:在访问共享资源前对资源加锁,访问完成后对资源解锁。 一个线程对共享资源加互斥以后,其他试图对共享资源加互斥的线程就会阻塞,直到当前资源的被释放。...数据类型: pthread_mutex_t(使用之前,必须初始化) 常用函数: 初始化互斥--pthread_mutex_init 销毁互斥--pthread_mutex_destroy 加上互斥...自旋和互斥的区别是,自旋机制在获得之前会一直忙等,而不会让线程因为阻塞而休眠。...条件变量被用来阻塞一个线程,当条件不满足时,线程解除互斥并等待条件成立。当条件成立的时候,线程重新给互斥加锁。 条件变量相当于给互斥加了if-else,if条件满足时才允许加锁。

1.1K20

【说站】java线程是什么

java线程是什么 1、说明 线程是指等待线程由于唤醒其所需的条件永远无法成立,或者其他线程无法唤醒这个线程而一直处于非运行状态(线程并未终止)导致其任务 一直无法进展。...2、线程分为两种: (1)信号丢失锁:信号丢失锁是因为没有对应的通知线程来将等待线程唤醒,导致等待线程一直处于等待状态。...(2)嵌套监视器:嵌套监视器是由于嵌套导致等待线程永远无法被唤醒的一种故障。...比如一个线程,只释放了内层Y.wait(),但是没有释放外层X; 但是通知线程必须先获得外层X,才可以通过 Y.notifyAll()来唤醒等待线程,这就导致出现了嵌套等待现象。...以上就是java线程的介绍,希望对大家有所帮助。更多Java学习指路:Java基础

42840

磕Synchronized底层实现--轻量级

磕Synchronized底层实现--轻量级 本文为磕Synchronized底层实现第三篇文章,内容为轻量级实现。...轻量级并不复杂,其中很多内容在偏向一文中已提及过,与本文内容会有部分重叠。 另外轻量级的背景和基本流程在概论中已有讲解。强烈建议在看过两篇文章的基础下阅读本文。...本系列文章将对HotSpot的synchronized实现进行全面分析,内容包括偏向、轻量级、重量级的加锁、解锁、升级流程的原理及源码分析,希望给在研究synchronized路上的同学一些帮助...主要包括以下几篇文章: 磕Synchronized底层实现--概论 磕Synchronized底层实现--偏向 磕Synchronized底层实现--轻量级 磕Synchronized底层实现...否则要走轻量级or重量级的释放流程 if (!

65230

进程、线程、的概念

4.1 机制 通过机制,能够保证在多核多线程环境中,在某一个时间点上,只能有一个线程进入临界区代码,从而保证临界区中操作数据的一致性。...所谓的,可以理解为内存中的一个整型数,拥有两种状态:空闲状态和上锁状态。加锁时,判断是否空闲,如果空闲,修改为上锁状态,返回成功。如果已经上锁,则返回失败。解锁时,则把状态修改为空闲状态。...balance + n balance = balance - n def run_thread(n): for i in range(100000): # 先要获取:...Global Interpreter Lock),任何 Python 线程执行前,必须先获得 GIL 。...每执行 100 条字节码,解释器就自动释放 GIL ,让别的线程有机会执行。这个 GIL 全局实际上把所有线程的执行代码都给上了

89520

队列、进程互斥、线程

3.进程互斥 作用:让加锁的部分由并发变成串行,牺牲了执行效率,保证了数据安全。 应用:在程序使用同一份数据时,就会引发数据安全和数据混乱等问题,需要使用来维持数据的顺序取用。...5.6.1 linux操作系统的 NPTL  历史:在内核2.6以前的调度实体都是进程,内核并没有真正支持线程。...NPTL最开始在redhat linux 9里发布,现在从RHEL3起内核2.6起都支持NPTL,并且完全成了GNU C库的一部分。...NPTL也是一个1*1的线程库,就是说,当你使用pthread_create()调用创建一个线程后,在内核里就相应创建了一个调度实体,在linux里就是一个新进程,这个方法最大可能的简化了线程的实现。...线程互斥进程互斥的作用是一样的,用法也很相似,在需要保护数据的地方加锁就可以了。

2K20

Linux进程——Linux进程进程优先级

如果对前面Linux进程不太熟悉可以先阅读: Linux进程 本篇主要内容: 僵尸进程和孤儿进程 Linux进程优先级 1. 僵尸进程 僵尸进程就是处于僵尸状态下的进程!...所以,只要子进程退出,父进程还在运行,但父进程没有读取子进程状态,子进程进入Z状态 僵尸状态就是Linux状态中的X死亡状态!...配置进程优先权对多任务环境的linux很有用,可以改善系统性能。...NI :NICE值,表示优先级的修改数据 NICE其取值范围是-20至19,一共40个级别 Linux进程的优先级数值范围:60~99 Linux中默认进程的优先级都是:80 Linux是支持动态优先级调整的...总结 本篇文章前部分紧贴上篇Linux进程,分析完了Linux下常见的进程状态,然后初步了解了Linux进程优先级,而进程优先级与前面内容相差较大,希望大家能够多花点时间理解!

8410

LinuxLinux进程控制>进程创建&&进程终止&&进程等待&&进程程序替换

1.进程创建 1.1 fork函数 在linux中fork函数时非常重要的函数,它从已存在进程中创建一个新进程。...新进程为子进程,而原进程为父进程 #include pid_t fork(void); 返回值:自进程中返回0,父进程返回子进程id,出错返回-1 进程调用fork,当控制转移到内核中的...else if (ret > 0) { // 异常退出 printf("sig code : %d\n", st & 0X7F); } } } 测试结果: [root@localhost linux.../a.out #等20秒退出 child exit code:10 [root@localhost linux]# ....Linux鼓励将这种应用于程序之内的模式扩展到程序之间。如下图 一个C程序可以fork/exec另一个程序,并传给它一些参数。这个被调用的程序执行一定的操作,然后通过exit(n)来返回值。

13310
领券