Solver translation#
Solver translation (FE2Ansys) translates Abaqus INP files to Ansys CDB and K files (MAPDL and LS-DYNA). The translation ensures that the Abaqus model can be used in Ansys without recreating from scratch. It helps to save time and effort even though minor manual adjustments may be required. The manual adjustments like redefining boundary conditions, loads, and material properties, ensures that the model behaves as expected in Ansys solver deck.
Abaqus to Ansys MAPDL Conversion#
The following example shows the translation of Abaqus INP file to CDB file format:
Import the Abaqus INP file.
file_io = prime.FileIO(model=model) import_results = file_io.import_abaqus_inp( r"E:/test2/Abaqus_Input_multistep.inp", prime.ImportAbaqusParams(model), ) print(import_results)The import_abaqus_inp imports the INP file as mesh, extracts simulation specific information from the INP file and stores the information internally as a JSON document.
ImportAbaqusParamsallows you to set the parameters for importing the model. The example uses default parameters for importing the model.Output:
summary_log : {"Counts": {"beam": 1,"connector": 3,"element": 6944,"elsets": 7,"errors": 0,"node": 6523, "nsets": 2, "physical": 1,"shell": 5375,"skipped": 0,"solid": 1564,"translated": 65,"warnings": 0},"Ids": {"beam": {"max": 7928,"min": 7928},"connector": {"max": 10001,"min": 7929},"element": {"max": 100000,"min": 1}, "node": {"max": 100002,"min": 13},"physical": {"max": 100000,"min": 100000},"shell": {"max": 5783,"min": 243}, "solid": {"max": 7287,"min": 13}},"Keywords": {"Counts": {"total_keywords_found": 96,"total_keywords_processed": 96, "total_keywords_skipped": 0,"total_keywords_unprocessed": 0},"processed_keywords": {"BEAM SECTION": 1,"BOUNDARY": 1, "CLOAD": 1,"COHESIVE SECTION": 1,"CONNECTOR BEHAVIOR": 1,"CONNECTOR ELASTICITY": 6,"CONNECTOR SECTION": 1, "COUPLING": 1,"DENSITY": 3,"DLOAD": 1,"ELASTIC": 3,"ELEMENT": 13,"ELEMENT OUTPUT": 3,"ELSET": 7,"END STEP": 1, "FASTENER": 1,"FASTENER PROPERTY": 1,"HEADING": 1,"KINEMATIC": 1,"KINEMATIC COUPLING": 1,"MASS": 1,"MATERIAL": 3, "MPC": 3,"NODE": 6,"NODE OUTPUT": 1,"NONSTRUCTURAL MASS": 1,"NSET": 2,"ORIENTATION": 2,"OUTPUT": 2,"PLASTIC": 1, "RIGID BODY": 1,"SECTION CONTROLS": 1,"SHELL SECTION": 2,"SOLID SECTION": 2,"SPRING": 1,"STATIC": 1,"STEP": 1, "SURFACE": 12,"TIE": 4},"skipped_keywords": null,"unprocessed_keywords": null}} error_code : ErrorCode.NOERROR warning_codes : []Here, the import summary provides information on the following:
Total number of keywords in the imported file.
Total number of processed keywords.
Total number of skipped or unprocessed keywords.
Number of imported nodes.
Number of imported elements(solid, shell, beam and more).
Number and type of skipped elements.
Ids of imported nodes and elements.
Number of errors and warnings that occurred while importing the file.
Export the CDB file.
export_cdb_result = file_io.export_mapdl_cdb( r"E:\test3\Abaqus_Input_multistep.cdb", prime.ExportMapdlCdbParams(model), ) print(export_cdb_result)
ExportMapdlCdbParamsallows setting parameters to control the export of MAPDL CDB files.
ExportMapdlCdbResultscontains the summary result of the export process in json format. This writes the CDB file to the specified location.summary_log : {"Counts": {"errors": 0,"skipped": 1,"translated": 40,"warnings": 0},"Ids": {"beam": {"max": 7928},"constant": {"max": 44},"csys": {"max": 2},"element": {"max": 100117},"et": {"max": 28}, "material": {"max": 114},"node": {"max": 100002},"section": {"max": 114},"shell": {"max": 100088}, "solid": {"max": 7287}}} zone_mesh_results : [] error_code : ErrorCode.NOERROR warning_codes : []CDB Export summary provides information about:
Number of error and warnings that occurred while exporting the CDB file.
Maximum number of node ids and elements ids that are exported.
The following table provides a reference for Abaqus input file keywords supported. It serves as a translation reference for converting Abaqus INP format to APDL cdb format.
Supported Abaqus Keywords# Keyword
Options
HEADING
None
NODE
SYSTEM=R
ELEMENT
TYPE=B31, C3D10, C3D4, C3D6, C3D6H, C3D8, C3D8H, C3D8R, C3D8RH, COH3D6, COH3D8, CONN3D2, DCOUP3D, M3D3, M3D4, MASS, R3D3, R3D4, ROTARYI, S3, S3R, S4, S4R, SPRINGA, STRI65
KINEMATIC COUPLING
None
MPC
None
ORIENTATION
DEFINITION=COORDINATES, NODES; SYSTEM=RECTANGULAR
SOLID SECTION
None
SHELL SECTION
DENSITY=0; NODAL THICKNESS; OFFSET
COHESIVE SECTION
RESPONSE=CONTINUUM, TRACTION SEPARATION; THICKNESS=SPECIFIED
BEAM SECTION
SECTION=CIRC, PIPE
CONNECTOR SECTION
[CARTESIAN–CARDAN], [AXIAL], [CARTESIAN–ROTATION], [WELD], [CARTESIAN–EULER], [JOIN–REVOLUTE], [SLOT–ALIGN]
NSET
None
ELSET
GENERATE
SURFACE
TYPE=ELEMENT, NODE
MATERIAL
None
DENSITY
None
DAMPING
STRUCTURAL=0
ELASTIC
TYPE=ISOTROPIC, TRACTION
CONNECTOR BEHAVIOR
None
CONNECTOR ELASTICITY
NONLINEAR, RIGID
CONNECTOR DAMPING
NONLINEAR; TYPE=VISCOUS
SPRING
None
MASS
None
ROTARY INERTIA
None
SECTION CONTROLS
ELEMENT DELETION=YES; HOURGLASS=ENHANCED
FASTENER PROPERTY
None
NONSTRUCTURAL MASS
DISTRIBUTION=MASS PROPORTIONAL; UNITS=TOTAL MASS
TIE
ADJUST=NO, YES
FASTENER
ADJUST ORIENTATION=NO
AMPLITUDE
DEFINITION=EQUALLY SPACED, PERIODIC, TABULAR, periodic; FIXED INTERVAL=0,3; SMOOTH=0; TIME=STEP TIME, step time
RIGID BODY
None
STEP
NLGEOM=NO, YES; PERTURBATION; UNSYMM=YES
STATIC
STABILIZE=0
BOUNDARY
BASE NAME=LOAD_FR, LOAD_RR; OP=NEW; TYPE=DISPLACEMENT
CLOAD
FOLLOWER; LOADCASE=1; OP=NEW; REAL
DLOAD
OP=NEW
OUTPUT
FIELD, HISTORY, TIME INTERVAL=0
NODE OUTPUT
None
END STEP
None
DYNAMIC
APPLICATION=MODERATE DISSIPATION, QUASI
ELEMENT OUTPUT
POSITION=CENTROIDAL
SYSTEM
None
TRANSFORM
TYPE=R
PLASTIC
None
HYPERELASTIC
MODULI=LONG TERM; N=3; NEO HOOKE; REDUCED POLYNOMIAL; YEOH
SURFACE INTERACTION
None
FRICTION
SLIP TOLERANCE=0
CONTACT PAIR
ADJUST=0; SMALL SLIDING; SMOOTH=0; TYPE=NODE TO SURFACE, SURFACE TO SURFACE
MONITOR
DOF=1,2,3; NODE=FR_DR_JIG_PT, FR_DR_RH_JIG_PT, JIG_OS_CENTER, RR_DR_JIG_PT, RR_DR_RH_JIG_PT, node
NODE PRINT
None
MEMBRANE SECTION
None
TIME POINT
None
CONTACT
None
CONTACT INCLUSIONS
ALL EXTERIOR
CONTACT EXCLUSIONS
None
CONTACT PROPERTY ASSIGNMENT
None
DAMAGE INITIATION
CRITERION=DUCTILE
DAMAGE EVOLUTION
TYPE=DISPLACEMENT
FREQUENCY
DAMPING PROJECTION=ON; EIGENSOLVER=AMS; NORMALIZATION=MASS; RESIDUAL MODES; SIMULATION=STEADY STATE
Abaqus to LS-DYNA Conversion#
Abaqus to LS-DYNA conversion helps you migrate models between solvers for different types of analysis. It avoids rebuilding the model from scratch and saves time and effort.
The following example shows the translation of Abaqus INP file to K file format:
Import the Abaqus INP file.
fileio = prime.FileIO(model=model) import_results = fileio.import_abaqus_inp( r"E:\test3\spot_weld_test.inp", prime.ImportAbaqusParams(model), )
The import_abaqus_inp imports the INP file as mesh, extracts simulation specific information from the INP file and stores the information internally as a JSON document.
ImportAbaqusParamsallows you to set the parameters for importing the model. The example uses default parameters for importing the model.Output
summary_log : {"Counts": {"connector": 4,"element": 1420,"elsets": 5,"errors": 0,"node": 1708,"nsets": 19, "shell": 1416,"skipped": 0,"translated": 47,"warnings": 0},"Ids": {"connector": {"max": 900004,"min": 900001}, "element": {"max": 900004,"min": 19},"node": {"max": 300424,"min": 47},"shell": {"max": 14186,"min": 19}}, "Keywords": {"Counts": {"total_keywords_found": 65,"total_keywords_processed": 65,"total_keywords_skipped": 0, "total_keywords_unprocessed": 0},"processed_keywords": {"AMPLITUDE": 1,"BOUNDARY": 2,"CONNECTOR BEHAVIOR": 1, "CONNECTOR ELASTICITY": 6,"CONNECTOR SECTION": 1,"DENSITY": 2,"DYNAMIC": 1,"ELASTIC": 2,"ELEMENT": 3, "ELEMENT OUTPUT": 1,"ELSET": 5,"END STEP": 1,"ENERGY OUTPUT": 1,"FASTENER": 1,"FASTENER PROPERTY": 1, "FIXED MASS SCALING": 1,"HEADING": 1,"MATERIAL": 2,"NODE": 1,"NODE OUTPUT": 1,"NSET": 19,"ORIENTATION": 1, "OUTPUT": 2,"PLASTIC": 2,"SHELL SECTION": 2,"STEP": 1,"SURFACE": 2,"VARIABLE MASS SCALING": 1}, "skipped_keywords": null,"unprocessed_keywords": null}} formatted_summary_log : None error_code : 0 warning_codes : []
Here, the import summary provides information on the following:
Total number of keywords in the imported file.
Total number of processed keywords.
Total number of skipped or unprocessed keywords.
Number of imported nodes.
Number of imported elements (solid, shell, beam and more).
Number and type of skipped elements.
Ids of imported nodes and elements.
Number of errors and warnings that occurred while importing the file.
Export the K file.
main_k_file = os.path.join(file_name.split(".")[0] + ".k") k_params = prime.ExportLSDynaKeywordFileParams(model=model) export_K_result = prime.FileIO(model).export_lsdyna_keyword_file(main_k_file, k_params) print(export_K_result)
FileIO.export_lsdyna_keyword_fileallows you to write out an LS-DYNA Keyword (*.k) file that contains the mesh definition and other necessary information to carry out the analysis run using the LS-DYNA solver.ExportLSDynaKeywordFileParamsallows you to specify the application type (SEATBELT, DOORSLAM), indicate whether to compute the spot weld thickness, append the material cards in the K file, provide the database cards to append in the K file, and specify the LS-DYNA data field format. You should specify the material properties card and the database keywords card in LS-DYNA format.Output
summary_log : {"Counts": {"errors": 0,"skipped": 0,"translated": 16,"warnings": 0}, "Ids": {"beam": {"max": 0},"csys": {"max": 1},"element": {"max": 900004},"friction": {"max": 0}, "hour_glass": {"max": 6},"joint": {"max": 0},"load_curve": {"max": 4},"material": {"max": 67}, "node": {"max": 300425},"part": {"max": 68},"section": {"max": 67},"set": {"max": 17}, "shell": {"max": 14186},"solid": {"max": 0}},"Settings": {"analysis_type": "LSDynaAnalysisType_Doorslam", "compute_spotweld_thickness": "true","output_format": "LSDynaFormat_i10"}} zone_mesh_results : [] error_code : 0 warning_codes : []
Export summary provides information about:
Number of error and warnings that occurred while exporting the K file.
Maximum number of node ids and elements ids that are exported.