当前位置:服务支持 >  软件文章 >  3D-Crack简单弹性例子:J积分计算与裂纹扩展分析的详细步骤

3D-Crack简单弹性例子:J积分计算与裂纹扩展分析的详细步骤

阅读数 5
点赞 0
article_banner
我是必葫芦画瓢作的,不当之处,请多多指教
拿出来大家一起学习吧
呵呵












所用软件:MSC.Marc2005

以下为menten源代码:


*define h 4
*define b 8
*define l 15
*define a1 1.5
*define a2 1
*define a2 1.5
*define a1 1
*define force -5e5
*define moment -1e5
*define nexpand 22
*define da 0.5
*add_solids
0 0 0 b h -l
*set_solid_type cylinder
*add_solids
0 0 0 0 0 -1 1.5 1.5
*move_reset
*set_move_scale_factors
a2/a1 1 1
*move_solids
2
# | End of List
*move_reset
*set_move_translations
b h 0
*move_solids
2
# | End of List
*fill_view
*solids_subtract
1 2
# | End of List
*reset_view
*fill_view
*rot_model_cspace_x_for
*rot_model_cspace_x_for
*rot_model_cspace_y_rev
*rot_model_cspace_y_rev
*rot_model_cspace_z_rev
*fill_view
*convert_solid_faces_surfaces
all_existing
*remove_solids
all_existing
*set_curve_div_type_fix_avgl
*set_curve_div_type_fix_avgl *set_curve_div_avgl
1
*apply_curve_divisions
all_existing
*set_curve_div_type_fix_avgl
*set_curve_div_type_fix_avgl *set_curve_div_avgl
0.3
*apply_curve_divisions
*zoom_box
*zoom_box(1,0.385621,0.442735,0.628758,0.724786)
4
36
1
31
3
8
6
9
2
7
5
14
# | End of List
*match_curves
0.1
all_existing
*dt_surface_trimesh
all_existing
*fill_view
*clear_geometry
*set_sweep_tolerance
0.1
*sweep_nodes
all_existing
*remove_unused_nodes
*align_shells
1
*set_mesh_transition
1.1
*dt_tet_tri_mesh
all_existing
*store_elements tets
all_existing
*set_nodes off
*elements_solid
*regenerate
*select_clear
*visible_selected
*add_points
0 -1 0
0 -1.5 0
0 -1 -1
0 -1.5 -1
0 -0.5 0
0 -0.5 -1
*set_curve_type polyline
*add_curves
2 4 3
# | End of List
*add_curves
1 1
# | End of List
*add_curves
3 6 5
# | End of List
*set_surface_type ruled
*add_surfaces
1 2
2 3
*fill_view
*convert_surfaces
1
# | End of List
*set_expand_rotations
0 0 -90/nexpand
*expand_elements
all_visible
*set_expand_repetitions
*undo
*set_expand_repetitions
nexpand
*expand_elements
all_visible
*store_elements crack1
all_visible
*set_sweep_tolerance
0.001
*sweep_nodes
all_visible
*select_clear
*visible_selected
*convert_surfaces
2
# | End of List
*expand_elements
all_visible
*fill_view
*store_elements crack2
all_visible
*sweep_nodes
all_visible
*select_clear
*visible_selected
*clear_geometry
*add_points
0 -0.5 0
0 0 0
*set_curve_type arc_cpp
*add_curves
0 0 0
-0.5 0 0
0 -0.5 0
*set_curve_type line
*add_curves
2 3 2 1
*set_curve_div_type_fix_ndiv
*set_curve_div_type_fix_ndiv *set_curve_div_num
10
*apply_curve_divisions
2
3
# | End of List
*set_curve_div_type_fix_ndiv *set_curve_div_num
22
*apply_curve_divisions
1
# | End of List
*set_mesh_transition
1
*af_planar_quadmesh
all_visible
*set_expand_translations
0 0 -1/5
*expand_reset
*set_expand_translations
0 0 -1/5
*set_expand_repetitions
5
*expand_elements
all_visible
*remove_unused_nodes
*clear_geometry
*store_elements fill
all_visible
*select_sets
tets
*move_reset
*set_move_scale_factors
a2/a1 1 1
*move_elements
all_unselected
*move_reset
*set_move_translations
b h 0
*move_elements
all_unselected
*select_clear
*fill_view
*select_sets
crack2
fill
*visible_selected
*fill_view
*set_sweep_tolerance
0.005
*sweep_nodes
all_visible
*select_clear
*invisible_selected
*fill_view
*zoom_box
*zoom_box(1,0.418301,0.494017,0.596078,0.682051)
*select_sets
crack1
*visible_selected
*set_curve_type arc_cpa
*set_curve_type arc_cpp
*add_curves
0 0 0
-1 0 0
0 -1 0
*move_reset
*set_move_scale_factors
a2/a1 1 1
*move_curves
all_existing
*fill_view
*move_reset
*set_move_translations
b h 0
*move_curves
all_existing
*fill_view
*set_attach_limit on
*set_attach_distance
0.01
*set_attach_tolerance
1e-5
*attach_edges_curve
1
*undo
*fill_view
*move_curves
all_existing
*fill_view
*attach_nodes_point
*attach_edges_curve
*attach_faces_surface
*attach_edges_curve
1
all_visible
*select_nodes_curves
1
# | End of List
*store_nodes crackfront
all_selected
*store_nodes crackfront
*select_clear
*invisible_selected
*fill_view
*zoom_box
*zoom_box(1,0.405229,0.464957,0.606536,0.711111)
*new_crack
*crack_option rigreg_method:topology
*crack_param num_rig_regions
7
*set_crack_tip_node_path
crackfront
*crack_param tip_node_dist_tol
0.001
*material_type mechanical:isotropic
*material_value isotropic:youngs_modulus
2e5
0.3
*add_material_elements
all_existing
*zoom_box
*zoom_box(1,0.558170,0.600000,0.684967,0.687180)
*fill_view
*zoom_box
*zoom_box(1,0.473203,0.540171,0.482353,0.558974)
*new_contact_body
*contact_body_name
crack2
*contact_deformable
*add_contact_body_elements
crack2
fill
*new_contact_body
*contact_body_name
crack1
*contact_deformable
*add_contact_body_elements
crack1
*new_contact_body
*contact_body_name
tets
*contact_deformable
*add_contact_body_elements
tets
*fill_view
*clear_geometry
*add_points
-10 -10 -l
-10 20 -l
18 -10 -l
18 20 -l
*set_surface_type quad
*add_surfaces
2 1 3 4
*add_points
b -10 10
b -10 -25
b 20 -25
b 20 10
*add_surfaces
6 7 8 5
*duplicate_reset
*set_duplicate_translations
0 0 l
*duplicate_surfaces
1
# | End of List
*flip_surfaces
1
# | End of List
*fill_view
*new_contact_body
*contact_body_name
moving
*contact_rigid
*contact_option control:load
*add_contact_body_surfaces
1
# | End of List
*renumber_nodes
*add_nodes
b/2 h/2 -l
b/2 h/2 -l
*new_contact_body
*contact_body_name
force
*remove_current_contact_body
*cbody_control_node
nnodes()-1
*cbody_control_node_rot
6964
*new_apply
*apply_name
force
*new_md_table 1 1
*table_name
*set_md_table_type 1
time
*table_name
pointload
*table_add
0 0 1 1
*show_model
*apply_type point_load
*apply_dof z *apply_dof_value z
force
*apply_dof_table z
pointload
*add_apply_nodes
nnodes()-1
# | End of List
*new_apply
*apply_name
moment
*apply_type point_load
*apply_dof mx *apply_dof_value mx
moment
*apply_dof_table mx
pointload
*add_apply_nodes
nnodes()
# | End of List
*new_contact_body
*contact_body_name
symmx
*contact_symmetry
*add_contact_body_surfaces
2
# | End of List
*new_contact_body
*contact_body_name
cracksym
*contact_symmetry
*add_contact_body_surfaces
3
# | End of List
*new_contact_table
*contact_table_entry 1 3
*contact_table_option $ctbody1 $ctbody2 contact_type:glue
*contact_table_option $ctbody1 $ctbody2 glue_separation:allowed
*contact_table_property $ctbody1 $ctbody2 sep_for
1e32
*contact_table_entry 1 2
*contact_table_option $ctbody1 $ctbody2 contact_type:glue
*contact_table_option $ctbody1 $ctbody2 glue_separation:allowed
*contact_table_property $ctbody1 $ctbody2 sep_for
1e32
*contact_table_entry 3 2
*contact_table_option $ctbody1 $ctbody2 contact_type:glue
*contact_table_option $ctbody1 $ctbody2 glue_separation:allowed
*contact_table_property $ctbody1 $ctbody2 sep_for
1e32
*contact_table_entry 3 4
*contact_table_option $ctbody1 $ctbody2 contact_type:glue
*contact_table_option $ctbody1 $ctbody2 glue_separation:allowed
*contact_table_property $ctbody1 $ctbody2 sep_for
1e32
*contact_table_entry 2 5
*contact_table_option $ctbody1 $ctbody2 contact_type:touching
*contact_table_entry 1 5
*contact_table_option $ctbody1 $ctbody2 contact_type:touching
*contact_table_entry 3 5
*contact_table_option $ctbody1 $ctbody2 contact_type:touching
*contact_table_entry 2 6
*contact_table_option $ctbody1 $ctbody2 contact_type:touching
*contact_table_entry 3 6
*contact_table_option $ctbody1 $ctbody2 contact_type:touching
*loadcase_type static
*loadcase_ctable
ctable1
*job_class mechanical
*add_job_loadcases lcase1
*job_contact_table
ctable1
*job_param disttol
0.01
*add_post_tensor stress
*add_post_var von_mises
*job_option solver:it_sparse
*job_option sparse_prec:inc_chol
*save_model
*update_job
*submit_job 1 *monitor_job
*kill_job *monitor_job
*apply_type point_load
*apply_dof x *apply_dof_value x
*clear_apply_dof mx
*apply_dof_value x moment
*apply_dof_table x
pointload
*save_model
*update_job
*submit_job 1 *monitor_job
*monitor_job
*update_job
*submit_job 1 *monitor_job
*save_model
*post_open_default
*post_contour_bands
*set_deformed both *find_solid_outline
*post_value Equivalent Von Mises Stress
*post_monitor
*zoom_box
*zoom_box(1,0.435294,0.515203,0.607843,0.726351)
*post_monitor
*zoom_box
*zoom_box(1,0.295425,0.224662,0.515033,0.452703)
*save_model



免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删
相关文章
QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空