Amp

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

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

使用js解数独难题

不想你离开。 提交于 2020-10-24 17:27:12
在线数独,这个网站有解答 https://www.sudoku.name/index-cn.php 算法思路 使用二维数组表示棋盘,0表示空 先计算出每个空可能的值的集合 依次进行dfs搜索,每次确定一个值之后,将该值所在的九宫和横竖所有集合进行更新,即减去该值 直至搜索结束 优化思路 使用一维数组表示棋盘,每个数字0-9位表示可能的值的集合,10位表示该值是否是空 使用位运算加速 同时依赖了是否为空,可以只对空进行搜索,避免多个空删除一个值后变为单个数时无法确定是否是空,必须使用check函数的问题 const _ = require('lodash') // 0 表示未知 const INIT_MAP = // 难 // [ // [8, 0, 0, 0, 0, 0, 0, 0, 0], // [0, 0, 3, 6, 0, 0, 0, 0, 0], // [0, 7, 0, 0, 9, 0, 2, 0, 0], // [0, 5, 0, 0, 0, 7, 0, 0, 0], // [0, 0, 0, 0, 4, 5, 7, 0, 0], // [0, 0, 0, 1, 0, 0, 0, 3, 0], // [0, 0, 1, 0, 0, 0, 0, 6, 8], // [0, 0, 8, 5, 0, 0, 0, 1, 0], // [0, 9, 0, 0, 0, 0, 4,

C++ 九阴真经之字符串按位置格式化

帅比萌擦擦* 提交于 2020-10-24 15:59:50
上一篇介绍了支持C++类型的格式化操作,但还是存在以下缺点: 1、非类型安全,必须提供正确的%s、%d、%f等类型符号,否则有可能造成程序崩溃。 2、部分参数如果存在多次重复的情况下,需要多次指定参数。 针对以上缺点,我希望提供更加简洁的格式化操作函数以供选择: format_pos("%1 + %2 = %3", 1,2,"3") 测试代码: class TestPrint { public: TestPrint() { std::cout << "TestPrint 构造函数" << std::endl; } ~TestPrint() { std::cout << "TestPrint 析构函数" << std::endl; } friend void operator << (std::iostream& out, const TestPrint& t) { out << t.val << "_" << t.a ; } private: int a = 100; std::string val = "hello"; }; int main() { std::string strMsg("my msg"); std::cout << format_pos("this is %1 --> %2, this is %1 --> %2", strMsg, TestPrint()) <

【极客思考】计算机网络:Wireshark抓包分析TCP中的三次握手与四次挥手

廉价感情. 提交于 2020-10-24 11:40:38
【 摘要 】 本文重点分析计算机网络中TCP协议中的握手和挥手的过程。 【前提说明】 前段时间突然看到了一篇关于TCP/IP模型的文章,心想这段时间在家里也用wireshark抓了点包,那么想着想着就觉得需要复习一下网络知识,于是就有这篇博文的诞生。当然网上关于TCP相关的知识点也是芸芸,闲着无事也可以多google深入理解一下,本文重点在分析TCP协议中的握手和挥手的过程。 【抓包前准备】 既然要抓包,我的装备是个人电脑,操作系统是Mac OS。抓包工具是wireshark,至于怎么安装和一些基本的操作, 可以点击参考这篇文章。 用本地电脑模拟server和client,都是localhost的地址,但是我选择的是不同的端口进行标识。server的端口号:12345;client的端口号:50784。因为是用的本机做的实验,所以wireshark监听的不是网卡而是Loopback:lo0,如图所示: 以下是我模拟client和server的代码: 1)server端 -Python 代码 01 #! /usr/bin/python 02 # -*- coding: utf-8 -*- 03 04 import socket 05 06 sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 07 08 server

如何将NSString转换为NSNumber

落花浮王杯 提交于 2020-10-24 04:03:10
问题: How can I convert a NSString containing a number of any primitive data type (eg int , float , char , unsigned int , etc.)? 如何转换包含许多原始数据类型(例如 int , float , char , unsigned int 等)的 NSString ? The problem is, I don't know which number type the string will contain at runtime. 问题是,我不知道字符串在运行时将包含哪种数字类型。 I have an idea how to do it, but I'm not sure if this works with any type, also unsigned and floating point values: 我有一个方法,但是我不确定这是否适用于任何类型,也适用于无符号和浮点值: long long scannedNumber; NSScanner *scanner = [NSScanner scannerWithString:aString]; [scanner scanLongLong:&scannedNumber]; NSNumber *number =

etl数据调度平台系统类别的实现方法及工作流程

人盡茶涼 提交于 2020-10-23 08:36:23
什么是调度系统 调度系统,更确切地说, 作业调度系统(Job Scheduler) 或者说 工作流调度系统(workflow Scheduler) 是任何一个稍微有点规模,不是简单玩玩的大数据开发平台都必不可少的重要组成部分。 除了Crontab,Quartz这类偏单机的定时调度程序/库。开源的分布式作业调度系统也有很多,比较知名的比如: oozie,azkaban,chronos,zeus 等等,此外,还有包括 阿里的TBSchedule,SchedulerX , 腾讯的Lhotse 以及我司历尽十年磨砺的 TASKCTL 作业系统的两大种类 现在市面上的调度系统根据功能性可以分为两类定时类作业调度系统&DAG工作流类作业调度系统这两类系统的架构和功能实现通常存在很大的差异,下面就来跟大家普及一下这两种作业系统的不同之处; 定时类作业系统 定时类系统的方向,重点定位于大量并发的任务分片执行场景; 在实际应用场景中,通常平时维护工作需要定时执行的业务逻辑相对离散无序,仅仅存在一定的简单关联。 例如: 需要定时批量清理一批机器的磁盘空间, 需要定时生成一批商品清单, 需要定时批量对一批数据建索引, 需要定时对一批用户发送推送通知等等。 核心目标基本两点: 1. 作业分片逻辑支持: 将一个大的任务拆分成多个小任务分配到不同的服务器上执行, 难点在于要做到不漏,不重,保证负载平衡

神秘工具让你开发智能合约低成本!

六眼飞鱼酱① 提交于 2020-10-23 06:45:11
#百度超级链学院·公开课# 开发者福利来袭! 还在为如何降低合约开发成本而苦恼?本期公开课将带你解锁一款超好用、超低开发成本的智能合约工具xdev。 【主讲嘉宾】:樊冰新 百度资深研发工程师 【课程简介】:使用xdev创建和编译合约工程、管理第三方合约library、测试合约,以及xdev和vscode的集成方法。 【时间】:5月21日 20:00 【直播预约链接】: http://abcxueyuan.cloud.baidu.com/#/live_detail?liveId=237&linkToken=xf5Ik 来源: oschina 链接: https://my.oschina.net/u/4489928/blog/4285628

Discourse 如何添加 Google Analytics 的代码

孤街醉人 提交于 2020-10-23 02:53:41
Discourse 如何添加 Google Analytics 代码带网站中? Discourse 与 Google Analytics 高度进行了整合。 其实你并不需要添加 Google Analytics 的代码,你只需要找到你的 Google Analytics 的 UA 号就可以了。 跟踪 ID 是一个形式如 UA-000000-2 这样的字符串。跟踪 ID 必须包含在跟踪代码中,这样 Google Analytics(分析)才会知道应该将数据发送到哪个帐号和媒体资源。 跟踪 ID 会自动包含在网站的 JavaScript 代码段中,但是还需要包含在其他跟踪技术(例如 SDK 和 Measurement Protocol)中,这样 Google Analytics(分析)才能正常工作。 第一组数字(在上述示例中为 -000000)指的是您的帐号,而第二组数字 (-2) 指的是与帐号关联的特定 媒体资源编号 。 当你在 Google 的系统中找到这个 ID 后,然后再在你的 Discourse 中搜索 关键词: universal tracking 或者 ga 也行。 将你找到的 ID 填写上去,保存即可。 保存后的修改是即时生效的。 你可以到 Google Analytics 中的当前在线用户界面查看目前正在访问你网站的用户数。 原始问题,请参考: https://www

【精华】常用分库分表方案

↘锁芯ラ 提交于 2020-10-23 02:50:25
一、数据库瓶颈 不管是IO瓶颈,还是CPU瓶颈,最终都会导致数据库的活跃连接数增加,进而逼近甚至达到数据库可承载活跃连接数的阈值。在业务Service来看就是,可用数据库连接少甚至无连接可用。接下来就可以想象了吧(并发量、吞吐量、崩溃)。 1、IO瓶颈 第一种:磁盘读IO瓶颈,热点数据太多,数据库缓存放不下,每次查询时会产生大量的IO,降低查询速度 -> 分库和垂直分表。 第二种:网络IO瓶颈,请求的数据太多,网络带宽不够 -> 分库。 2、CPU瓶颈 第一种:SQL问题,如SQL中包含join,group by,order by,非索引字段条件查询等,增加CPU运算的操作 -> SQL优化,建立合适的索引,在业务Service层进行业务计算。 第二种:单表数据量太大,查询时扫描的行太多,SQL效率低,CPU率先出现瓶颈 -> 水平分表。 二、分库分表 1、水平分库 概念: 以字段为依据,按照一定策略(hash、range等),将一个库中的数据拆分到多个库中。 结果: 每个库的结构都一样; 每个库的数据都不一样,没有交集; 所有库的并集是全量数据; 场景: 系统绝对并发量上来了,分表难以根本上解决问题,并且还没有明显的业务归属来垂直分库。 分析: 库多了,io和cpu的压力自然可以成倍缓解。 2、水平分表 概念: 以字段为依据,按照一定策略(hash、range等)

C++基于编译时间自动生成版本号

怎甘沉沦 提交于 2020-10-23 02:20:46
我们希望每次编译发布程序都有不同的版本号。但是每次编译都需要修改版本号特别麻烦。本文介绍一种基于编译时间生成版本号的方法。 C++内置宏 C/C++编译器会内置有两个获取编译时间的宏:__DATE__和__TIME__; __DATE__:在源文件中插入当前的编译日期 __TIME__:在源文件中插入当前编译时间; #include <stdio.h> int main(void) { printf("Date : %s\n", __DATE__); printf("Time : %s\n", __TIME__); } 输出: Date : May 14 2020 Time : 19:34:54 日期转化成数字表示 // Example of __DATE__ string: "May 14 2020" // 012345678910 #define BUILD_YEAR_CH0 (__DATE__[ 7]) #define BUILD_YEAR_CH1 (__DATE__[ 8]) #define BUILD_YEAR_CH2 (__DATE__[ 9]) #define BUILD_YEAR_CH3 (__DATE__[10]) #define BUILD_MONTH_IS_JAN (__DATE__[0] == 'J' && __DATE__[1] == 'a' && _