2月 « 2015 « ACS NEWS

2015 年 2 月 のアーカイブ

ANSOL ポストプロセッサ iGlass ムービー作成機能

2015 年 2 月 21 日 土曜日

iGlassは、ANSOLギヤ解析専用のポストプロセッサである。
結果ファイルさえあればライセンスなしでも自由に利用することができる。
iGlassにおいて、結果表示の動画ファイルを作成するには、
①画面下にある Copy ボタンを使って各コマのスナップショットを作成して、動画編集ソフト
 でムービーファイルに変換する
②あるいは、画面キャプチャーソフトを使う
しかなかった。これは結構面倒な作業だ。そこで開発元に頼んだら即機能追加してくれた。
以下にその使用方法を紹介する。

はじめに結果ファイルを指定して、iGlassを起動する。 
背景色を変更したい場合 Attibsタブ下方 Backgroundダブルクリックで変更できる

iglass-01

色を選んで、OK

iglass-02

次に、各パーツや、結果表示を見やすい状態に設定する。

iglass-03

応力成分の選択

iglass-04

接触力も表示したい。Contactタブで、接触圧のスケールを調整する。
ムービー作成開始 – Recordボタンを押す。

iglass-05

作成するムービーファイルの名前を指定して OK

iglass-06

Record ONの状態で、>ボタンでアニメーション開始。マウス中ボタンでコマを進めてもいい。
ひとコマ進む度に撮影される。全コマ終わったら、Record OFF。
Recordを押すとPauseボタンが現れる。これは、途中でコマを抜くための機能なので普通は
使用しないだろう。 作成可能なムービーは AVI形式のみである。

iglass-07

作成されたムービー (AVIをフリーソフトでFlvに変換して掲載している)

 

 

 

 

lsdyna ifort131.vs.PGI105

2015 年 2 月 7 日 土曜日

前の記事でLinux64用のMPP版は、3種類あると書いた。

①ls-dyna_mpp_d_r7_1_2_95028_x64_redhat54_ifort131_avx2_platformmpi.tar.gz
 – Intel最新命令AVX2に対応したモジュール。Intelコンパイラ使用

②ls-dyna_mpp_d_r7_1_2_95028_x64_redhat54_ifort131_sse2_platformmpi.tar.gz
 – Intel SSE2命令以上のCPUに対応したモジュール。Intelコンパイラ使用

③ls-dyna_mpp_d_7_1_2_95028_x64_suse102_pgi105_sse2_platformmpi.tar.gz
 – Intelコンパイラは、AMDで動かすと遅くなるという噂を回避するため、PGIコンパイラ使用

対応OSに、redhat54, Suse102とあるが、これら以上のOSであればどちらも動く。

自分の持っている環境で、モジュールによってどれ位性能が異なるのかテストを行った。

Intel CPUテストマシンは、2012年に紹介した、MASAMUNEである。
このマシン、Win7 64bitと、CentOS-5のマルチブートで購入したのだが、昨年末、CentOS-6以上
を使う必要があり、OSの更新を試みたところ、Windowsを消してしまった!!!  
そういう訳で、現在は、CentOS専用マシンになっている。

今回のテストは、R7.1.2の次に予定されている、R8.0.0のプレリリース版を使用した。

先ずは、一番速そうなAVX2版を試したらこうなった。AVX2命令が実装される前のCPUのようだ。

avx2_IMG_5315

見ての通り、即落ちた。自分のマシンで、AVX2は使えない。

Ifort版と、PGI版の比較を示す。Vマークが勝利を表す。

r8_ifort_pgi_intel

やはり、Intel CPUでは、Ifort版を使用するべきである、

次に、AMD CPUでのテスト結果を示す。マシンは、2010年6月導入なのでかなり古い。

r8_ifort_pgi_amd

PGI版が勝利するはずだったが、そうでもなかった。問題のタイプによって使い分けるのが良さそうだ。

 

lsdyna R7.1.2 リリース

2015 年 2 月 6 日 金曜日

昨日、2/5 R7.1.2の全モジュールがLSTCサイトにアップされ、公式リリースされた。
以下のリリースノートをさっと見てもわかるように、新機能は殆どなくて、R7.1.1に
対するFIX=バグ修正版である。

Windows64 と Linux64用のSMP版と、MPP版を(IBM Platform版のみ)を
弊社サイトにアップした。LSTCのサイトには、かなりの数のR8.0がアップされていて
R7.1.2は微妙な所だが、R7.1.1で不具合にブチ当たったら、R7.1.2を試してください。
マニュアルについても、2015/1/28付けのDRAFT版が公開されている。

今回から、Linux64 MPP版は、3種類選択可能となった。例えば倍精度版の場合

ls-dyna_mpp_d_r7_1_2_95028_x64_redhat54_ifort131_avx2_platformmpi.tar.gz
ls-dyna_mpp_d_r7_1_2_95028_x64_redhat54_ifort131_sse2_platformmpi.tar.gz
ls-dyna_mpp_d_7_1_2_95028_x64_suse102_pgi105_sse2_platformmpi.tar.gz

自分が持っているSUSE 10.2でも、CentOS-6 でもAVX2以外は全部動作した。
何が違うかというと、
 – ifort131 : Intel Fortranでコンパイルされており、Intel CPUで性能出る
– pgi105 : PGI Fortranでコンパイルさrており、AMD CPU向け
– avx2 .vs. sse2 : 最新のIntel CPUならavx2が速いはず。
性能比較テストについては、次のブログで紹介する予定。

リリースノート

—————————————————————————-
This file is revision 0 of the release notes for LS-DYNA version R7.1.2.
—————————————————————————-

Herein are summarized enhancements and bug fixes made since the
release of version R7.1.1.

These notes are arranged by topic.  Understand that in many cases,
a particular note may have applicability to multiple topics, but in the
interest of brevity, each note is listed only under one topic heading.

The most recent User’s Manual (in three volumes) may be downloaded from
www.lstc.com/download/manuals.


________________________ *AIRBAG ___________________                

Make VNTOPT in *AIRBAG_HYBRID work for A23.ge.0.

*DATABASE_ABSTAT:
Fix mdot_out for CPM chamber abstat database.

Bug fix for *AIRBAG_SIMPLE_AIRBAG_MODEL when using *INCLUDE_TRANSFORM.
The input parameters MU and A were converted correctly but the
pre-converted values were written to the dyna.inc file.

Implement *DELETE_AIRBAG for small restart.


________________________ *BOUNDARY ___________________              

All *BOUNDARY IDs are offset by idroff when included by *INCLUDE_TRANSFORM.

Turn off pore air boundary condition (*BOUNDARY_PAP) during dynamic relaxation.

Fix incorrect rigid body velocities when using *BOUNDARY_PRESCRIBED_MOTION_RIGID_LOCAL
and *INITIAL_VELOCITY_RIGID_BODY.

Error terminate if *BOUNDARY_SPC_NODE_BIRTH_DEATH is applied to a node that
belongs to a rigid body.

*BOUNDARY_ACOUSTIC_COUPLING_MISMATCH:
Fix for spurious automatic coupling
with faces on free surface of *MAT_ACOUSTIC elements.


________________________ *CONTACT ___________________               

MPP tied contact initialization:
Change a tolerance in groupable tied contact bucketsort
to match the non-groupable code, and fix the slave node
thickness used for beam nodes during initial search in
non-groupable contact to match groupable contact.

MPP groupable tied contact:
Honor TIEDPRJ in *CONTROL_CONTACT, and output messages about moved
nodes to match non-groupable tied contact.

MPP eroding contact:
Fix problem of every processor
participating in every eroding contact, even if they had none of
the nodes or elements.  This caused scaling issues.

Fix for MPP contact force summation
as applied to shells with compressive thickness
behavior.

MPP beam to surface contact: remove “beam” node mass
from the penalty stiffness calculation when soft=1
is used, which matches SMP behavior.

Various fixes to intfor output for MPP contact.

MPP tied contact with adaptivity: if any master
segments get adapted, we were dropping any slave
nodes.  Now flag these, and do a bucketsort for
just these nodes, to find their new tied location.
This allows tied contacts to work across adaptive steps.

MPP contact: fix routine that updates segment
Correct update of segment thicknesses for solid elements (every cycle) so that
it honors the OPTT parameter in *PART_CONTACT.

MPP: fix problem with *CONTACT_TIED_…_BEAM_OFFSET
and full deck restart: data for this contact type
was not properly written to the d3full file, making
full deck restart with this contact type impossible.

Fix problem when using *INTERFACE_LINKING together
with constrained tied interfaces.  Nodes involved in
both are removed from the linking interface, but
this was leaving some internal structures out of sync,
sometimes causing nodes to be moved improperly.

MPP eroding contact: fix long standing bug that
might have improperly excluded some nodes from
contact.

Fix for MPP two sided force transducers with erosion:
shared nodes were only flagged on one processor, so
some forces along processor boundaries might not have
been counted to a force transducer.

Fix rarely triggered bug for beam thickness/stiffness
in MPP CONTACT_AUTOMATIC_GENERAL.

Fix for MPP groupable contact and implicit when there
are both constraint and penalty contact types.

Fix segmentation fault when using *CONTACT_GUIDED_CABLE.

Fix incorrect contact behavior when using *CONTACT_AUTOMATIC_GENERAL_INTERIOR for
beams with large differences in thickness and when the thinner beams are
closer to each other than to the thicker beams. Affects SMP only.

Fix incorrect contact thickness used for *CONTACT_ENTITY type 8 and 9 when
the contact thickness scale factor, g2, is non-zero.

Fix *RIGIDWALL_GEOMETRIC_FLAT_DISPLAY which incorrectly displayed the rigidwall
being penetrated by the slave nodes.

Add *CONTROL_CONTACT PENOPT=3 option for *CONTACT_ERODING_NODES_TO_SURFACE
for SMP.

Add contact friction energy to the SLEOUT database file for _2D_AUTOMATIC_SURFACE_TO_SURFACE
and _2D_AUTOMATIC_SINGLE_SURFACE contact.

Fix a 2D automatic contact bug that occurred if a segment has zero length.  An
infinite thickness value was caculated by A/L  causing the bucket sort to fail.

Fix an error in 2D automatic contact sliding interface energy reported
in glstat.  The outputted value was about 2x the correct value.

Fix both the intersection and initial penetration reporting of segment based
(soft=2) contact when the shared constraint flag SHAREC is set for the contact.
The reporting of segment pairs that
share nodes will not be made when SHAREC=1, but can be reported if neighbor segment
checking is active.

Fix an MPP 2-surface force transducer blunder when segment based contact is used.
The symptom observed was a change in bucket sort behavior making the contact less
reliable for contact bewteen segments that are not on the same MPP partition when
2-surface force transducers were used.

Fix a full deck restart error with SMP segment based contact.  A segmentation
fault was likely.

Add support for eroding, 2-surface force transducers when used with segment
based contact.  Data is now updated so that when solid element erodes and new
segments exposed, force on these surfaces will be reported to the force transduders.

Stop segment based (soft=2) contact from reporting initial penetrations between segment
pairs that share nodes.  Such segment pairs can only exist when SHAREC=1 as they
otherwise do not pass the bucket sort so do not make the list.

Fix an error with SMP consistency in the segment based (soft=2) contact
neighbor segment check activated by setting SFNBR>0.

Fix MPP full deck restart when using segment based contact.
It has been broken since rev 64900.

Fix the IGAP>2 option on *CONTACT Optional Card C for segment based contact for SMP and MPP,
and also the regular contact for SMP only.  The count of cycles used the cycle number rather
than equilibrium steps.  The problem in using cycle number is that there is no way to know how many
implicit cycles will occur prior to converging so it almost guarantees that the gap stiffness will switch
off during iterations.  Also, the MPP segment based contact was not even working correctly with
cycles.

Fix a problem with segment based contact when used with dynamic relaxation and when the
solution was switched to implicit after convergence.  The contact was scaled too soft causing
pass through.

Fix an error that could occur in segment based contact when some element(s) grow
very large.  Due to a cap on the possible number of sorting buckets, it was possible
during a bucket sort for the majority of elements to be left in a few buckets
with most of the buckets remaining empty.  This caused the bucket sort to
become extremely slow.  It also had the potential to overrun a buffer causing a
segmentation fault.  With this fix, the buffer will no longer overflow, and
there is also a fix such that when some elements grow large, the bucket sort
does not slow down very much.

*CONTACT_AUTOMATIC_SINGLE_SURFACE_MORTAR previously did not work
with beam elements but now works.

*CONTACT_FORMING_SURFACE_TO_SURFACE_MORTAR, *CONTROL_ADAPTIVE:
Look ahead adaptive simulation with forming mortar contact was broken at
some point, but is now fixed.

In initializing *CONTACT_FORMING_SURFACE_TO_SURFACE_MORTAR, reversal of contact segments
took a long time if slave and master part were far away from each other. This
algorithm is now improved. The typical situation when this is observed is
when trimming the blank, some master surfaces are far away so as to not be in play
but may still be in the contact definition.


________________________ *CONSTRAINED ___________________           

Rework MPP support for *CONSTRAINED_MULTIPLE_GLOBAL
so that it works with more than just solid elements.

Fix MPP decomposition for some joint types.

Fix bug for *CONSTRAINED_SHELL_TO_SOLID — MPP only.

Fix input error when using large load curve ID for FMPH, FMT, FMPS in card 3
of *CONSTRAINED_JOINT_STIFFNESS with _GENERALIZED or _TRANSLATIONAL options.

Fix seg fault if using tables for FMPH of *CONSTRAINED_JOINT_STIFFNESS and if
the angle of rotation is less than the the abscissa of the table or load curves.

*CONSTRAINED_JOINT:
Fix for noncoincident joint node error warnings STR+65, STR+67, and
STR+72.  Old data that used to run was error terminating.
Now, error termination happens only if both the old and new tolerances are exceeded.

Improve the precsion of spot weld constraints (*CONSTRAINED_SPOTWELD) to prevent possible
divide by zeroes when the inertia tensor is inverted.  This affect the single precision
version only.

Fix for *CONSTRAINED_SPR2.
If the resultant normal directions of slave and master sheet
were not the same, high shear forces could develop initially.


________________________ *CONTROL ___________________               

*CONTROL_TIMESTEP
Fix a bug whereby selective mass scaling (*CONTROL_TIMESTEP) was not properly initialized
in a simple restart.

________________________ *DATABASE ___________________              

*DATABASE_NCFORC:
Modify output of ncforc file to support output in
a local coordinate system.  If CID_RCF (field 8
on optional card C) is defined for a contact interface,
output the ncforc file in this coordinate system (so
that it matches the rcforc file).

MPP ncforc output: sum forces for slave nodes to fix possible
problems with shared nodes and symmetric contacts.

*CONSTRAINED_INTERPOLATION_SPOTWELD, *DATABASE_SWFORC:
Fix missing swforc output of spr welds — MPP only.

*DATABASE_BINARY_INTFOR:
Add support of surface energy output to intfor for contact types 4, 13 and 26
— MPP only.

*DATABASE_TRACER:
Fix bug for SPH tracer particle output — MPP only.

Fix incorrect output to disbout for discrete beams (*DATABASE_DISBOUT).

Fix stress/strain output to elout which were in local system instead of global
when EOCS=2 in *CONTROL_OUTPUT and CMPLG=1 in *DATABASE_EXTENT_BINARY.
Resolve the conflicting input by giving priority to EOCS.

Fix incorrect output 0.0 for history variable #3, bulkq viscosity, of solids to
d3plot when HYDRO.gt.0 in *DATABASE_EXTENT_BINARY and when equation-of-state is used.

Fix non-functioning *DATABASE_SBTOUT and *DATABASE_DISCRETE keywords.

Fix incorrect coordinate system used for strains output to d3plot when CMPFLG=1
in *DATABASE_EXTENT_BINARY and MAXINT<0 for orthotropic and anisotropic materials.

Fix inadvertent strain output to d3plot history variables when NODOUT=
ALL/ALL_GL/STRAIN/STRAIN_GL or INTOUT=ALL/STRAIN in *DATABASE_EXTENT_BINARY.

*DATABASE_ELOUT:
Fix elout stress output for shell element forms 23 and 24.  The in-plane
averaging was incorrect causing wrong output.

Redo stress and strain output for thick shells.  This should produce slightly different results
in the output files (not the solution) since some corrections were made to the local to global
transformation done for thick shell types 2 and 3.  Forms 1 and 5 should not change.

*DATABASE_SECFORC:
Correct the sign of secforc data for thick shell forms 2, 3, and 5.
The force magnitude was correct but the sign wrong.

*DATABASE_ELOUT:
Fix eloutdet stress and strain output for thick shell form 5.  It was
outputting nonsense.

Synchronize output time for intfor and d3plot databases.

Add *INTEGRATION… data to d3prop output.

Fix bug in d3plot if MSSCL option is defined in *DATABASE_EXTENT_BINARY.


________________________ *ELEMENT ___________________               

Fix a bug related to using superelements (*ELEMENT_DIRECT_MATRIX_INPUT) with explicit
and having null columns in the linear algebra system
due to improperly constructed model.

Output of midside node data to d3xxxx databases was incorrect in MPP.

Fix a bug for detailed element output (eloutdet) for 6-node or 4-node solid when ESORT of *control_solid >0,
and for solid element type 15.

Fix “*** termination due to mass increase ***’ error when using mass scaling with
*ELEMENT_MASS_PART.

Fix fix incorrect output of initial stresses and initial strains to dynain for
thick shells.

Fix incorrect reading of TIME on Card 3 of *ELEMENT_SEATBELT_SENSOR, SBSTYP=3
when using long=s on the execution line.

Error terminate with message, STR+1296, if same node is defined multiple times in
*ELEMENT_MASS_MATRIX.

Fix seg fault when using shell formulation 18,20,21 for implicit eigenvalue
analysis and when triangular shell elements are present.

Fix input error when using *ELEMENT_SHELL_SHL4_TO_SHL8.

Fix time step being set to zero after full deck restart for problems with discrete
elements.

Fix input error during adaptivity cycle when using *PART_ANNEAL with adaptivity.

Add warning message, STR+1286, when no mid-side nodes are defined for shell
element type 23 and 24.

Fix thick shell form 5 when used in implicit solutions with non isotropic materials.
The stiffness matrix was wrong due to incorrect transformations.

Fix the implicit stiffness of thin and thick shells when used with laminated shell
theory by assumed strain (LAMSHT=3,4,5 on *CONTROL_SHELL).  Elements were either failing
to converge or converging more slowly due to the failure to adjust the stiffness matrix to
be consistent with the assumed strains which are the basis for the forces on the right side of
the equation.

Improve the accuracy of the Belytshko-Schwer resultant beam (form 2) in single
precision.

*DATABASE_EXTENT_BINARY, CMPFLG:
Rework the thick shell stress output routine.
The 4-point in-plane elements (forms 2 and 3) could not correctly
average the stress from the 4 points when outputting only 1 and when outputting
in the composite material direction.  Therefore, I changed the order of the output
calculations to do averaging in the material direction rather than the global system.
This change has no effect on the solution, and should only affect stress output in
the material direction, not the global direction.

*CONTROL_SOLID, ESORT:
Suppress sorting of tetrahedral acoustic elements into non-acoustic tets.

Fix the NLOC option on *SECTION_SHELL for the BCIZ triangle elements (ELFORM=3)
and DKT triangles (ELFORM=17).
The offset was scaled by the solution time step so typically the offset was
much smaller than expected.

Fix implicit thick shell form 2 when used with *MAT_058.  Since rev 81390,
the stiffness matrix has been wrong and convergence impossible.

Remove an inappropriate warning message (INI+161) for cable elements with
*MAT_071.

Fix the rigid body inertia calculation for 2D axisymmetric element
types 14, 15, 44, 46, and 47.  While this affects the mass properties reported
to d3hsp, it likely has no effect on the solution.

Modify shell element form 16.  The node 1 coordinates are now subracted from the
other nodal coordinates in double precision so the precision of the element is
independent of location in space.  Some minor recoding of this part of the code
makes it slightly faster on Xeon64 even though there are 9 additional subtractions
per element per time step.  Single precision results with shell section 16 will be
slightly different with this change but single precision results should be closer
to double precision.

Fix the long option of *ELEMENT_SHELL_COMPOSITE_LONG.  A mistake in
keyword reading caused an erroneous KEY+157 error message.

Fix thick shell form 3 when used with an equation of state.
The pressure was not properly accounted for in the stress calculation.

Fix thick shell form 5 when used with equations of state.  The equation of state pressure was being
calculated for only the last integration point, creating nonphysical deformation.
The material models fixed are 8, 9, 10, 11, 15, 17, 65, 88, 155, and 224.

*CONTROL_SHELL:
Fix an initialization problem with laminated shell theory when the data has some
shell or thick shell parts that use *PART_COMPOSITE or *INTEGRATION_SHELL and some others
that do not.  It was possible for lamatinated shell theory data to be clobbered causing
unpredictable element behavior.

Add z-stress calculation for thick shell forms 1 and 2 for the material types 15, 34, 60, 98, 108, 115, 122,
125, 130, 137, 165, 170, 172, 203, 204, 214, 222, 234, 235, 244, and 255.  Prior to this change,
strange deformation would likely occur.
Note: This z-stress is not part of a full 3D stress update as it is for thick shell formulation 3 and 5.


________________________ *FREQUENCY_DOMAIN ___________________      

*FREQUENCY_DOMAIN_SSD, _RANDOM_VIBRATION, _RESPONSE_SPECTRUM:
Fix the variable names for beam data written to elout_ssd, elout_psd,
and elout_spcm.

*FREQUENCY_DOMAIN_RANDOM_VIBRATION:
Fix problem where random vibration analysis was not activated after eigenvalue analysis due to
mismatch of termination time and time step size specified in *CONTROL_IMPLICIT_GENERAL.

*FREQUENCY_DOMAIN_FRF:
Fix a bug in writing Modal contribution factor.

*FREQUENCY_DOMAIN_ACOUSTIC_BEM:
Fix memory allocation for pressure output array in bem acoustic analysis for the case nfreq=0.

*FREQUENCY_DOMAIN_ACOUSTIC_FEM:
Fix a bug in initialization of the load curve in FEM Acoustics, when the boundary condition
is given by transient analysis.

*FREQUENCY_DOMAIN_RANDOM_VIBRATION:
Fix a bug in computing rms of displacement, in case the PSD integration provides a negative area.

*FREQUENCY_DOMAIN_RANDOM_VIBRATION:
Fix a bug in running random vibration with time history load.

*FREQUENCY_DOMAIN_FRF, *FREQUENCY_DOMAIN_SSD:
Fix a bug in running frf and ssd with pressure loading.

*FREQUENCY_DOMAIN_RESPONSE_SPECTRUM:
Fix a bug in running response spectrum analysis, related to scaling of modal stresses.

Fix a bug in outputing solid types with midside nodes to binary frequency domain databases
when tet10=1 in *CONTROL_OUTPUT.

*FREQUENCY_DOMAIN_FRF:
Fix bug in running frf with 8-node quadratic quadrilateral shells.
Fix a bug in running frf when 10-noded tetrahedrons are present.


________________________ *INITIAL ___________________               

Fix incorrect initial velocities when using *INITIAL_VELOCITY_GENERATION with
irigid=1 and *PART_INERTIA with xc=yc=zc=0 and nodeid>0 with *DEFINE_TRANSFORMATION.

Fix incorrect initial velocity when using *INITIAL_VELOCITY_GENERATION with
NX,NY,NZ defined and also *PART_INERTIA is used.

Fix incorrect start time for initialization of velocities when PHASE=0 in
*INITIAL_VELOCITY_GENERATION and *INITIAL_VELOCITY_GENERATION_START_TIME
is present.

Fix stress initialization with *INITIAL_STRESS_SECTION for tetahedron formulation 17.

*INITIAL_VELOCITY:
Fix rigid body velocity initialization for the case of pure translation.
Nonzero stress could be generated in parts that shared nodes with rigid bodies.  The
problem was that the calculation to initialize rigid body velocities and rotations is
susceptible to round-off error such that the rigid body has tiny initial rotations which
lead to stress in the deformable elements.

*INITIAL_STRESS
Fix thick shell stress initialization which was improperly initializing the stress data
data for for thick shell forms 2 and 3.
Also correct the warning message for shell and thick shell stress initialization
when the number or location of thickness integration points in the initialization data does not
match the elements to be initialized.  This is messages INI+143, INI+144, INI+145, INI+146, and
INI+147.  I also made a similar correction for INI+213 which is related to initial failure.


________________________ *LOAD ___________________                  

Add load curves for dynamic relaxation for *LOAD_THERMAL_VARIABLE.

Fix input error when using *LOAD_MOVING_PRESSURE with >100 Card 2’s.

Fix incorrect stress initialization with dynamic relaxation when using
*LOAD_SEGMENT_SET with AT.ne.0.

*LOAD_SEGMENT; *CONTROL_ADAPTIVE:
Fix bug whereby loads on non-adapting parts were affected when
3D adaptivity is invoked.


________________________ *SENSOR ___________________                

Moment of rotational discrete element can be traced by *SENSOR_DEFINE_ELEMENT,
with ETYPE=DISC-ELE and CTYPE=FORCE

SENSOR referred to by *DEFINE_CURVE_FUNCTION returns a value of:
    – “0” when the status of ctrlid is OFF and TYPE is not FUNCTION,
    – “TYPEID” when the status of ctrlid is OFF and TYPE is FUNCTION

Fix a bug when using *SENSOR_DEFINE_FORCE to trace the pressure of *AIRBAG_ADIABATIC.


________________________ *MAT ___________________                   

Fix bug in hysteretic behaviour of reinforcement in *MAT_174. Occasionally,
it was possible for the Bauschinger effect on re-loading to
be lost – for that half-cycle, the behaviour would become
elastic-perfectly-plastic. This bug occurred only rarely.

MAT_082_RCDC:
–  Fix bug where damage from load curves was incorrectly calculated for solid elements.
–  Fix error in scaling of averaged nodal pressure for solid formulation 13.

Check diagonal terms of C-matrix of *MAT_002/MAT_{OPTION}TROPIC_ELASTIC and
error terminate with message, STR+1306, if any of them are negative.

Fix incorrect stress initialization of *MAT_57/MAT_LOW_DENSITY_FOAM using dynain
file with *INITIAL_STRESS_SOLID when NHISV is equal to the number of history
variables for this mat 57.

Fix error when using *MAT_144/MAT_PITZER_CRUSHABLE_FOAM with solid tetahedrons type 10.

Fix incorrect writing of material data to dyna.str for *MAT_SEATBELT when
using long=s on the execution line.

Fix out-of-range forces after dynamic relaxation when using VP=1 for
*MAT_PIECEWISE_LINEAR_PLASTICITY and non-zero strain rate parameters, C & P, and
the part goes into plastic deformation during dynamic relaxation.

Fix incorrect *MAT_PLASTICITY_COMPRESSION_TENSION/MAT_124 yield stresses for shells
when SRFLAG=2.  The yield stress was not scaled correctly according to strain rate
curves, LCSRC and LCSRT.

Fix incorrect results when using *DEFINE_TABLE for LCSS of
*MAT_89/MAT_PLASTICITY_POLYMER.

Fix incorrect results when using *MAT_MUSCLE/MAT_156 with *PART_AVERAGED for the
truss elements.

Fix seg fault when using *MAT_NONLOCAL with nhv > 16 and also output
warning message, STR+1291, if the largest history variable # is > than
the number of stored history variables(including plastic strain).

Fix effect of shear correction factor, SHRF, in *SECTION_SHELL and *PART_COMPOSITE
on *MAT_ORTHO_ELASTIC_PLASTIC/*MAT_108.

Fix incorrect results when using  *MAT_JOHNSON_COOK/*MAT_15 with thick shell
formulations 3 and 5.

Modify *MAT_221 (MAT_ORTHOTROPIC_SIMPLIFIED_DAMAGE) to correct the damage
behavior.  Prior to this fix, damage was applied to new increments of stress, but
not the stress history, so matrial softening was not possible.  Since damage is
applied to the constitutive matrix, it was necessary to switch the stress update
from a rate form (rate-of-deformation) to an total strain form.  The total strain
used is the accumulated increments from the rate-of-deformation.  Since the material
behavior is elastic, the results are about the same except when damage occurs.

Fix error in inititialization that could cause a problem with *MAT_FABRIC’s RGBRTH
parameter.  If there was more than one fabric material model, and all data was the
same except for RGBRTH, the materials could be merged causing the RGBRTH of the
second material to be ignored.

Add support for *MAT_096 for several solid element types including 3, 4, 15, 18, and  23.
Also, reduce the liklihood of numerical overflow in *MAT_096.  This is really a bug fix
because we did not terminate cleanly.

Fix the use of uninitialized curve slope values in the implicit element stiffness
matrix when the 6 DOF spring material (*MAT_119) is used with beam form 6.  The slopes
have now been set to zero for degrees of freedom for which no curve is defined.

Enable 5 newer materials and/or thick shell materials to be used with the
material angle field of *PART_COMPOSITE or *PART_COMPOSITE_TSHELL.  The new
materials are 5 40, 136, 219, and 253.

Fix type 6, 7, 9 hourglass control for *MAT_187 and *MAT_232.

Fixed calculation of failed layers in reading SOFT (crashfront) parameter for *MAT_261/262.

Fix keyword reading of *MAT_124 constants EC and RPCT.
It was not working if they were defined under *PARAMETER.

New option for strain rate averaging in *MAT_083.
Exponential moving average can be invoked by setting SRAF<0,
where abs(SRAF) represents the degree of weighting decrease.

New option for unloading behavior in *MAT_083.
If TBID<0 or HU>0 (“damage formulations”), unloading is rate dependent
by default. This can now be changed to “rate independent” by new
input parameter RIULD on Card 5, Column 2. This seems to help noise
reduction in some cases.

Added new option to *MAT_106 for shell and solid elements.
Load curve LCFAIL (Card 4, Column 4) refers to
plastic failure strain as function of temperature.

Fix combination of implicit analysis with *MAT_057
and solid element types 4, 16, or 17.

Add new parameter “EXPON” to *MAT_083 on optional card 5, column 1.
This is an exponent in the damage function for unloading when HU>0:
    d = (1-HU) * ( 1 – (Wcur/Wmax)**SHAPE )**EXPON

Add a new failure indicator as history variable #10 to *MAT_123.
Add triaxiality as history variable #11 to *MAT_123.

Fix for combination of standard failure criteria and GISSMO
with LCREGD>0 in *MAT_ADD_EROSION.

Correct internal energy calculation in *MAT_ADD_EROSION
damage model GISSMO for thin and thick shell elements.

Fix for *MAT_ADD_EROSION, damage model GISSMO. Option NUMFIP<0
was not working correctly for the combination with *MAT_036.

Fix for *MAT_083 when unloading is controlled via TBID<0.
In rare cases it was possible that the lowest curve in the table
was used for rate dependent stress evaluation, but it should only
be used for unloading response.

Parameter SCLMRR of *DEFINE_CONNECTION_PROPERTIES was not working
for spotweld assemblies/clusters. This is now fixed.

Correct problem with the number of history variables
in user materials with solid elements when options INTOUT/NODOUT
of *DATABASE_EXTENT_BINARY are set to “STRAIN” or “ALL”.

Fix a bug that prevented *MAT_POWDER from being compressed beyond a certain point.


________________________ ALE ___________________                    

Fix bug for *ALE_ESSENTIAL_BOUNDARY when defined by parts; wrong surface segments
generated for pentahedral and tetrahedral elements.


________________________ SPH ___________________                    

*DEFINE_ADAPTIVE_SOLID_TO_SPH:
Fix bug affecting tet and wedge solid elements adaptively transformed into SPH particles.


________________________ *IMPLICIT ___________________              

Fix reading of d3kil file to allow for implicit switches
with more than 4 characters.

*CONTROL_IMPLICIT_INERTIA_RELIEF, *CONTROL_DYNAMIC_RELAXATION:
Allow the case of dynamic relaxation with implicit
using inertia relief and then switching to explicit.

Fix Implicit’s treatment of rigid bodies after restart of an
adaptive simulation (*CONTROL_ADAPTIVE).

*CONTROL_IMPLICIT_MODAL_DYNAMIC:
Correct reading of d3eigv database for modal dynamics in the
presence of higher order elements and tshell elements.

*CONTROL_RIGID:
Turn off LaGrange Multiplier Treatment of joints when Implicit is active.

*CONTROL_IMPLICIT_MODES:
Enhance the computation of the superelement inertia matrix in the presence of
rigid bodies.  The mass matrix multiplication has to involve the mass on the
slave nodes for this computation which is unlike other applications in LS-DYNA.


________________________ Thermal ___________________                

*CONTROL_ADAPTIVITY:
MPP fix for possible deadlock
when using adaptivity together with thermal coupling.

Enable thick shells to work with thermal materials.  A flaw in the calculation
of temperatures meant that thermal materials would not behave correctly
except when done using *MAT_ADD_THERMAL_EXPANSION.

Fix thick shell elements when used with thermal materials and there is a variation in
the temperature field.  The temperature variation in the element was not being calculated and
all integration points were assigned the same temperature.

Flux was not being calculated for *MAT_THERMAL_CWM
when a time function was used for CWM.

Fix improper data in d3plot causing problems when using *LOAD_THERMAL_D3PLOT.


________________________ MPP ___________________                    

Incorporate new element cost routines for purposes of decomposition.
New pfile options are:
   decomp { newcost }              = use new element costs
   decomp { shellcosts filename }  = read shell cost info from ‘filename’
   decomp { solidcosts filename }  = read solid cost info from ‘filename’
There is no facility for generating the shellcosts or solidcosts
data files — those will have to be done with the R8.0 or later
versions.

Fix issue with full deck restart in case
some processors do not have any contact interfaces.

Fix MPP decomposition issue
in case there are 2D sliprings.

Fix MPP adaptivity for very large models: the
reading of the adaptive dump file was not
working properly for files over 8GB.

Fix a bug related to *PARAMETER and restart
that was resulting in parameters not being
properly redefined on the first restart in MPP
on processors other than 0, or on the second and
subsequent restarts in SMP and MPP (all processors).
This is only a problem if there are
*DEFINE_CURVE_FUNCTION definitions that use
parameters.

Fix MPP problem of creating a pre-decomposition file
while using a jobid.

If a structured output file is being created,
echo a copy of all pfile data (pfile + internally
generated from the *CONTROL_MPP keywords) to a file
named <jobid>pfile.log.  This makes it easy for
decomposition related keywords to be used with
the structured version of the file.

*CONTROL_DYNAMIC_RELAXATION:
MPP fix for dynamic relaxation
initialization in polar coordinates.

Fix INTERFACE_LINKING in MPP.

For small restart job, use the memory size stored in dump file instead
of memory specificed on command line.

*DEFINE_HAZ_PROPERTIES:
Fix bug for HAZ input deadlock — MPP only.

*DEFINE_SPH_DE_COUPLING:
Fix bug for SPH + DES coupling — MPP only.

Add support for *DEFINE_DE_BY_PART — MPP only.
Overrides *CONTROL_DISCRETE_ELEMENT for specified part IDs.

Fix hang up when using *DEFINE_CURVE_FUNCTION with element function
BEAM(id,jflag,comp,rm) and running MPP with np>1.

Fix bug whereby for *CONTROL_MPP_IO under Windows OS, user
had to have administrative privileges to write tmp file on
root drive. For Windows only.


________________________ Miscellaneous ___________________          

Fix problem of LOCAL parameters and adaptivity.
Because the adaptive process merges all the include files,
the “locality” of these was being lost.  Two new keywords are
introduced (*PARAMETER_PUSH and *PARAMETER_POP) and are used
to work around this issue.

When using *INCLUDE_TRANSFORM, offset IDs of sensors, nodes, elements and parts referred
to in an included *DEFINE_CURVE_FUNCTION by IDROFF, IDNOFF, IDEOFF and IDPOFF,respectively.

Fix a bug for *SET_SEGMENT_GENERAL that happens when option=PART is used to
define segment set of a part of solid element

Fix incorrect shell set generated when using *SET_SHELL_GENERAL with OPTION=PART.

Fix *NODE_MERGE_SET which gives incorrect set of nodes.

Fix input error, KEY+517, for null part set when using *SET_PART_LIST_GENERATE and
*PART_MOVE together.

The delay time, TIME3, in *DEFORMABLE_TO_RIGID_AUTOMATIC is not correctly
implemented. The TIME3 in the last  *DEFORMABLE_TO_RIGID_AUTOMATIC was used
instead.

Fix incorrect sign of result returned from *DEFINE_CURVE_FUNCTION’s
JOINT(id,jflag,comp,rm) if jflag=1.

Fix input error when using Q=REMAP.

Error terminate the input if the abscissa values of *DEFINE_TABLE are the same.

Fix input error when parameter is present in cards following *COMMENT
keyword and before the next ‘*’ keyword.

Fix NaNs triggered by 100th percentile *COMPONENT_GEBOD.

Make improvements and corrections to long format input.

Fix bug if *DEFINE_CURVE is used to define adaptivity level.
See IREFLG in *CONTROL_ADAPTIVITY.

If any node/element is encrypted and PSETID in *DATABASE_BINARY_D3PLOT is set,
we will disable dynain output.

*CONTROL_ADAPTIVE:
Fix bug whereby element IDs of non-adaptiing parts changed when
3D adaptivity was invoked.