abaqus里怎么对一个平面切割,然后分别用两种单元网格划分
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了abaqus里怎么对一个平面切割,然后分别用两种单元网格划分相关的知识,希望对你有一定的参考价值。
就是给你一个梯形,现在要把它分层两个不规则的部分,就是说那个切线是折线,然后在MESH功能里,要对2个部分 分别做不同单元的网格划分, 球详细点的回答,谢谢了
我用的是abaqus6.11
工具栏tools里面有分区按钮,然后选择草图分区,这样就进入了草图环境,接下来,想怎么画分区的折线都行了。
ABAQUS 是一套功能强大的工程模拟的有限元软件,其解决问题的范围从相对简单的线性分析到许多复杂的非线性问题。
ABAQUS 被广泛地认为是功能最强的有限元软件,可以分析复杂的固体力学结构力学系统,特别是能够驾驭非常庞大复杂的问题和模拟高度非线性问题。 ABAQUS 不但可以做单一零件的力学和多物理场的分析,同时还可以做系统级的分析和研究。
扩展资料:
abaqus功能
一、海洋工程结构分析:
1、对海洋工程的特殊载荷如流载荷、浮力、惯性力等进行模拟;
2、对海洋工程的特殊结构如锚链、管道、电缆等进行模拟;
3、对海洋工程的特殊的连接,如土壤/管柱连接、锚链/海床摩擦、管道/管道相对滑动等进行模拟;
二、水下冲击分析:对冲击载荷作用下的水下结构进行分析;
三、柔体多体动力学分析:对机构的运动情况进行分析,并和有限元功能结合进行结构和机械的耦合分析,并可以考虑机构运动中的接触和摩擦;
四、疲劳分析:根据结构和材料的受载情况统计进行生存力分析和疲劳寿命预估
五、设计灵敏度分析:对结构参数进行灵敏度分析并据此进行结构的优化设计
参考资料:百度百科-abaqus
参考技术A 就是分区,上面工具栏tools里面有分区按钮,然后选择草图分区,这样就进入了草图环境,接下来,你想怎么画分区的折线都行了。本回答被提问者采纳 参考技术B 折线的话就不能分成两部分,可以切割成四部分,每部分赋予相应的网格。切割的时候你应该会用到局部坐标来定义切割面。Spark中RDD转换成DataFrame的两种方式(分别用Java和Scala实现)
一:准备数据源
在项目下新建一个student.txt文件,里面的内容为:
1,zhangsan,20
2,lisi,21
3,wanger,19
4,fangliu,18
二:实现
Java版:
1.首先新建一个student的Bean对象,实现序列化和toString()方法,具体代码如下:
import java.io.Serializable;
@SuppressWarnings("serial")
public class Student implements Serializable {
String sid;
String sname;
int sage;
public String getSid() {
return sid;
}
public void setSid(String sid) {
this.sid = sid;
}
public String getSname() {
return sname;
}
public void setSname(String sname) {
this.sname = sname;
}
public int getSage() {
return sage;
}
public void setSage(int sage) {
this.sage = sage;
}
@Override
public String toString() {
return "Student [sid=" + sid + ", sname=" + sname + ", sage=" + sage + "]";
}
}
2.转换,具体代码如下
import java.util.ArrayList;
import org.apache.spark.SparkConf;
import org.apache.spark.api.java.JavaRDD;
import org.apache.spark.sql.Dataset;
import org.apache.spark.sql.Row;
import org.apache.spark.sql.RowFactory;
import org.apache.spark.sql.SaveMode;
import org.apache.spark.sql.SparkSession;
import org.apache.spark.sql.types.DataTypes;
import org.apache.spark.sql.types.StructField;
import org.apache.spark.sql.types.StructType;
public class TxtToParquetDemo {
public static void main(String[] args) {
SparkConf conf = new SparkConf().setAppName("TxtToParquet").setMaster("local");
SparkSession spark = SparkSession.builder().config(conf).getOrCreate();
reflectTransform(spark);//Java反射
dynamicTransform(spark);//动态转换
}
/**
* 通过Java反射转换
* @param spark
*/
private static void reflectTransform(SparkSession spark)
{
JavaRDD<String> source = spark.read().textFile("stuInfo.txt").javaRDD();
JavaRDD<Student> rowRDD = source.map(line -> {
String parts[] = line.split(",");
Student stu = new Student();
stu.setSid(parts[0]);
stu.setSname(parts[1]);
stu.setSage(Integer.valueOf(parts[2]));
return stu;
});
Dataset<Row> df = spark.createDataFrame(rowRDD, Student.class);
df.select("sid", "sname", "sage").
coalesce(1).write().mode(SaveMode.Append).parquet("parquet.res");
}
/**
* 动态转换
* @param spark
*/
private static void dynamicTransform(SparkSession spark)
{
JavaRDD<String> source = spark.read().textFile("stuInfo.txt").javaRDD();
JavaRDD<Row> rowRDD = source.map( line -> {
String[] parts = line.split(",");
String sid = parts[0];
String sname = parts[1];
int sage = Integer.parseInt(parts[2]);
return RowFactory.create(
sid,
sname,
sage
);
});
ArrayList<StructField> fields = new ArrayList<StructField>();
StructField field = null;
field = DataTypes.createStructField("sid", DataTypes.StringType, true);
fields.add(field);
field = DataTypes.createStructField("sname", DataTypes.StringType, true);
fields.add(field);
field = DataTypes.createStructField("sage", DataTypes.IntegerType, true);
fields.add(field);
StructType schema = DataTypes.createStructType(fields);
Dataset<Row> df = spark.createDataFrame(rowRDD, schema);
df.coalesce(1).write().mode(SaveMode.Append).parquet("parquet.res1");
}
}
scala版本:
import org.apache.spark.sql.SparkSession
import org.apache.spark.sql.types.StringType
import org.apache.spark.sql.types.StructField
import org.apache.spark.sql.types.StructType
import org.apache.spark.sql.Row
import org.apache.spark.sql.types.IntegerType
object RDD2Dataset {
case class Student(id:Int,name:String,age:Int)
def main(args:Array[String])
{
val spark=SparkSession.builder().master("local").appName("RDD2Dataset").getOrCreate()
import spark.implicits._
reflectCreate(spark)
dynamicCreate(spark)
}
/**
* 通过Java反射转换
* @param spark
*/
private def reflectCreate(spark:SparkSession):Unit={
import spark.implicits._
val stuRDD=spark.sparkContext.textFile("student2.txt")
//toDF()为隐式转换
val stuDf=stuRDD.map(_.split(",")).map(parts?Student(parts(0).trim.toInt,parts(1),parts(2).trim.toInt)).toDF()
//stuDf.select("id","name","age").write.text("result") //对写入文件指定列名
stuDf.printSchema()
stuDf.createOrReplaceTempView("student")
val nameDf=spark.sql("select name from student where age<20")
//nameDf.write.text("result") //将查询结果写入一个文件
nameDf.show()
}
/**
* 动态转换
* @param spark
*/
private def dynamicCreate(spark:SparkSession):Unit={
val stuRDD=spark.sparkContext.textFile("student.txt")
import spark.implicits._
val schemaString="id,name,age"
val fields=schemaString.split(",").map(fieldName => StructField(fieldName, StringType, nullable = true))
val schema=StructType(fields)
val rowRDD=stuRDD.map(_.split(",")).map(parts?Row(parts(0),parts(1),parts(2)))
val stuDf=spark.createDataFrame(rowRDD, schema)
stuDf.printSchema()
val tmpView=stuDf.createOrReplaceTempView("student")
val nameDf=spark.sql("select name from student where age<20")
//nameDf.write.text("result") //将查询结果写入一个文件
nameDf.show()
}
}
注:1.上面代码全都已经测试通过,测试的环境为spark2.1.0,jdk1.8。
2.此代码不适用于spark2.0以前的版本。
以上是关于abaqus里怎么对一个平面切割,然后分别用两种单元网格划分的主要内容,如果未能解决你的问题,请参考以下文章