element

ABAQUS粘弹性边界及地震荷载施加的简单实现(Matlab生成input文件)

丶灬走出姿态 提交于 2020-08-09 14:56:24
思路 粘弹性边界因为能够考虑地基辐射阻尼而使得结构抗震的计算结果更趋于合理,所以在需要考虑结构地基相互作用的结构抗震计算时,是较为常用的地基边界处理和地震荷载施加方法。而ABAQUS软件是经常用来进行结构响应分析的有限元软件。下面介绍一种在ABAQUS中实现粘弹性边界及地震荷载施加的方法。 粘弹性边界是通过在有限元模型的地基边界节点上施加弹簧阻尼器实现的,在ABAQUS中的实现有以下几种方法:第一种,通过ABAQUS自有的弹簧单元spring单元和阻尼单元dashpot实现,具体的单元参数可以参考文献[1],这种较为精确;第二种是通过ABAQUS的UEL子程序实现,可以看下文献[2];还有一种是等效单元替代的方法,就是在地基周围加一层单元,然后设置近似的材料参数,参考文献[3],这一种精度较差,但实现起来较为简单。我采用的是第一种方法,但操作起来较为繁琐,具体程序及过程后面介绍。 采用粘弹性边界,其配套的地震荷载输入方法就是在已知输入地震位移和速度的情况下,计算各个时刻地基边界各个结点上应当施加的集中力荷载,然后施加荷载,一步一步的进行计算。地震荷载的施加在ABAQUS中也有两种不同的思路,文献[2]中的方法是通过ABAQUS的DLOAD和UTRACLOAD两个子程序实现。DLOAD子程序用于施加边界面的法向荷载,UTRACLOAD用于施加边界面的切向荷载。而文献[1

c++ argmax

◇◆丶佛笑我妖孽 提交于 2020-08-09 12:29:40
参考: https://blog.csdn.net/theonegis/article/details/83036074 C++中argmin和argmax的实现 在Python中argmin和argmax这两个函数一般是用来就一列数中的最小值和最大值的索引。C++中我们如何实现呢?实现思路 使用STL中的std::min_element函数求出最小值; 使用STL中的std::distance计算最小值跟迭代器的头部的距离; 实现代码 #include <algorithm> template<class ForwardIterator> inline size_t argmin(ForwardIterator first, ForwardIterator last) { return std::distance(first, std::min_element(first, last)); } template<class ForwardIterator> inline size_t argmax(ForwardIterator first, ForwardIterator last) { return std::distance(first, std::max_element(first, last)); } 测试代码 int main() { array<int, 7>

Python爬虫实例 动态ip+抓包+验证码自动识别

不羁的心 提交于 2020-08-09 11:53:46
  最近出于某种不可描述的原因,需要爬一段数据,大概长这样:      是一个价格走势图,鼠标移到上面会显示某个时刻的价格,需要爬下来日期和价格。   第一步肯定先看源代码,找到了这样一段:   历史记录应该是从这个iframe发过来的,点进去看看,找到这样一段:   可以大概看出来是通过get一个json文件来获取数据,我们要的东西应该就在这个json里面。打开浏览器的开发者工具(F12),一个个看发过来的json,发现这样一个:      打开看看:     ok,我们找到了想要的东西了,接下来分析下这个url,发现一些规律,可以直接从第一页的url构造出来这个的url,除了一个token...从源代码里找到这玩意长这样...   菜鸡如我当然不知所措了...只能模拟浏览器抓包了...加载完从这个frame的src里可以找到这个token,问题解决,开爬!   以上部分的代码如下:    # coding=utf8 import urllib.request import json import requests import re from selenium import webdriver import time from bs4 import BeautifulSoup import requests import random import pytz import

在JavaScript中找到数组的最小/最大元素

牧云@^-^@ 提交于 2020-08-09 11:33:27
问题: How can I easily obtain the min or max element of a JavaScript Array? 如何轻松获得JavaScript数组的min或max元素? Example Psuedocode: 伪代码示例: let array = [100, 0, 50] array.min() //=> 0 array.max() //=> 100 解决方案: 参考一: https://stackoom.com/question/70EQ/在JavaScript中找到数组的最小-最大元素 参考二: https://oldbug.net/q/70EQ/Find-the-min-max-element-of-an-Array-in-JavaScript 来源: oschina 链接: https://my.oschina.net/stackoom/blog/4335531

Element table设置固定列,没有滚动条时底部会显示一条线的解决方法

落花浮王杯 提交于 2020-08-09 11:32:46
固定列需要在el-table-column 上设置fixed属性,它接受Boolean值或者left right,表示左边固定还是右边固定 <el-table :data="tableData" border style="width: 100%"> <el-table-column fixed prop="date" label="日期" width="150"> </el-table-column> <el-table-column prop="name" label="姓名" width="120"> </el-table-column> <el-table-column prop="zip" label="邮编" width="120"> </el-table-column> <el-table-column fixed="right" label="操作" width="100"> <template slot-scope="scope"> <el-button @click="handleClick(scope.row)" type="text" size="small">查看</el-button> <el-button type="text" size="small">编辑</el-button> </template> </el-table-column> <

C#--Distinct

Deadly 提交于 2020-08-09 10:56:55
C#黔驴技巧之去重(Distinct) 前言 关于C#中默认的Distinct方法在什么情况下才能去重,这个就不用我再多讲,针对集合对象去重默认实现将不再满足,于是乎我们需要自定义实现来解决这个问题,接下来我们详细讲解几种常见去重方案,孰好孰歹自行判之。 分组 首先给出我们需要用到的对象,如下: public class Person { public string Name { get; set; } public int Age { get; set; } } 接下来我们添加100万条数据到集合中,如下: var list = new List<Person>(); for (int i = 0; i < 1000000; i++) { list.Add(new Person() { Age = 18, Name = "jeffcky" }); } 接下来我们对年龄和名称进行分组,然后取第一条即可达到去重,如下: list = list.GroupBy(d => new { d.Age, d.Name }) .Select(d => d.FirstOrDefault()) .ToList(); 扩展方法(HashSet去重) 我们知道在C#中HashSet对于重复元素会进行过滤筛选,所以我们写下如下扩展方法,遍历集合元素,最后利用HashSet进行过滤达到去重目的,如下:

面试题:整理

泪湿孤枕 提交于 2020-08-09 09:56:42
1. 对CSS优化的理解(比如:代码层面) 2. ES6的理解(let const变量/箭头函数/promise.all并发/ES6的模块化和node.js模块化的区别) 3. jquery链式调用/链式编程的原理 4. element的二次封装 5. js的继承有哪几种 6. 垂直居中有哪些方式 7. 如何设置页面4个div的并排,他们的间距怎么设置 7. CSS预处理器几个用法,为什么用预处理,CSS复用的方法 8. Vue多继承的概念,多继承和普通继承的区别 9. async/await会用吗 10. 对TypeScript的理解,和js有什么区别 来源: oschina 链接: https://my.oschina.net/u/4373067/blog/4399370

Java集合常见面试题

自作多情 提交于 2020-08-09 08:54:30
Java集合框架 集合框架底层数据结构总结 Arraylist 与 LinkedList 异同 是否保证线程安全 : ArrayList 和 LinkedList 都是不同步的,也就是不保证线程安全; 底层数据结构 : Arraylist 底层使用的是Object数组;LinkedList 底层使用的是双向链表数据结构; 插入和删除是否受元素位置的影响 : ① ArrayList 采用数组存储,所以插入和删除元素的时间复杂度受元素 位置的影响 。 比如:执行 add(E e) 方法的时候, ArrayList 会默认在将指定的元素追加到此列表的末尾,这种 情况时间复杂度就是O(1)。但是如果要在指定位置 i 插入和删除元素的话( add(int index, E element) )时 间复杂度就为 O(n-i)。因为在进行上述操作的时候集合中第 i 和第 i 个元素之后的(n-i)个元素都要执行向后位/向 前移一位的操作。 ② LinkedList 采用链表存储,所以插入,删除元素时间复杂度不受元素位置的影响,都是 近似 O(1)而数组为近似 O(n) 。 是否支持快速随机访问 : LinkedList 不支持高效的随机元素访问,而 ArrayList 支持。快速随机访问就是通 过元素的序号快速获取元素对象(对应于 get(int index) 方法)。 内存空间占用 :

appium---多进程启动app(多设备启动app)

╄→尐↘猪︶ㄣ 提交于 2020-08-09 02:54:18
  上一篇简单的介绍了如何通过多线程进行启动app,但是后面发现了一个问题,就是app操作必须要等到一台结束后,下一台才能进行任务,那么有没有办法让他们同时运行呢?这个时候我们可以了解下多进程。跳转门: appium---多线程启动app(多台设备启动app) 进程和线程的区别 线程:计算机的执行单位以线程为单位。计算机的最小可执行是线程。。线程是可执行的基本单位,是可被调度的基本单位。线程不可以自己独立拥有资源。线程的执行,必须依赖于所属进程中的资源。。 进程:进程是资源分配的基本单位,进程中必须至少应该有一个线程 多进程启动app 继续上一篇文章的内容,多进程启动app,在以前的代码基础上进行修改线程部分 通过把启动appium的方法通过多进程的方法进行启动。 def main(self): ''' 多进程启动 ''' multi_list = [] for i in range(2 ): appium_server = multiprocessing.Process(target= self.get_commad) multi_list.append(appium_server) for j in multi_list: j.start() for j in multi_list: j.join() 测试用例 上面通过多进程的方法进行了实现了同事启动appium

实现selenium+python3+cookie免密登录CSDN

随声附和 提交于 2020-08-09 02:38:36
分两步来做: 第一步:登录CSDN并获取cookies,并保存到json文件或者excel文件中,本文使用excel文件保存cookie数据。 第二步:读取excel文件中的cookie数据,添加cookie信息。 我们按照步骤一步步来做,第一步:打开CSDN系统,点击登录/注册按钮,跳转到登录页面,有很多种登录方式,我这里使用微信扫码登录获取cookies(因为使用账号、密码登录时需要安全验证,且手动处理失败,没找到解决的办法。),登录后获取到的cookie存到excel文件中。代码如下。 1 import os 2 import time 3 import xlwt,xlrd 4 from selenium import webdriver 5 6 chrome_path=os.getcwd()+ ' /webdriver/chromedriver.exe ' # 这是我的谷歌的浏览器驱动的存放路径 7 driver=webdriver.Chrome(executable_path= chrome_path) 8 driver.implicitly_wait(10 ) 9 10 # (1)手动登录CSDN获取cookie。 11 driver.get( ' https://www.csdn.net/ ' ) 12 driver.maximize_window() 13