diff --git a/CMakeLists.txt b/CMakeLists.txt index 72ec21f..ae464fb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -16,7 +16,7 @@ set ( TEST_DIRS FreeFallTriad SimplePendulum MassSpring BeamModes ConstantCurrent AddedMass InternalFluid ParticleInWaves SoilDegradation CarSuspension CamJoint - DampedOscillator + DampedOscillator CorotatedLoad Tower Frame Sweep SpringDamper RobotArm ) if ( TARGET test_external ) diff --git a/TimeDomain/CorotatedLoad/CMakeLists.txt b/TimeDomain/CorotatedLoad/CMakeLists.txt new file mode 100644 index 0000000..6510f90 --- /dev/null +++ b/TimeDomain/CorotatedLoad/CMakeLists.txt @@ -0,0 +1,13 @@ +# SPDX-FileCopyrightText: 2023 SAP SE +# +# SPDX-License-Identifier: Apache-2.0 +# +# This file is part of FEDEM - https://openfedem.org + +set ( TEST_ID CorotatedLoad ) + +message ( STATUS "INFORMATION : Adding regression test ${TEST_ID}" ) + +add_test ( NAME ${TEST_ID} COMMAND ${VALGRIND_CMD} fedem_solver + -fco Setup.fco -curvePlotFile outputs.asc + -verify exported_curves.asc ${FT_TOLERANCE} ) diff --git a/TimeDomain/CorotatedLoad/CorotatedLoad.fmm b/TimeDomain/CorotatedLoad/CorotatedLoad.fmm new file mode 100644 index 0000000..d4a499c --- /dev/null +++ b/TimeDomain/CorotatedLoad/CorotatedLoad.fmm @@ -0,0 +1,1034 @@ +FEDEMMODELFILE {R8.1.3 (build 4) ASCII} +!Module version: R8.1.3 (build 4) 9 feb. 2026 17:55:38 +!Model file name: /home/kmo/FEDEM/fedem-solvers/solverTests/TimeDomain/CorotatedLoad/CorotatedLoad.fmm +!Last saved: #10, Fri Feb 13 17:28:52 2026 + +GLOBAL_VIEW_SETTINGS +{ +BACKGROUND_COLOR = 0.09803922 0.3058824 0.4588235; +CAMERA_FOCAL_DIST = 2.3383140564; +CAMERA_HEIGHT = 4.48970222473; +CAMERA_ORIENTATION = +1.00000000 0.00000000 0.00000000 2.85940886 +0.00000000 1.00000000 0.00000000 -0.57943588 +0.00000000 0.00000000 1.00000000 2.38082004; +CAMERA_ORTHOGRAPHIC_FLAG = true; +CTRLVIEW_FOCAL_DIST = 10.6999998093; +CTRLVIEW_GRIDSIZE_X = 1; +CTRLVIEW_GRIDSIZE_Y = 1; +CTRLVIEW_GRID_ON = true; +CTRLVIEW_SNAPDISTANCE_X = 0.25; +CTRLVIEW_SNAPDISTANCE_Y = 0.25; +CTRLVIEW_SNAP_ON = true; +CTRLVIEW_TRANSLATION = 0 0 10.6999998093; +FEEDBACK_DATA = 1 0 0 1; +FOG_VISIBILITY = 7.4529; +GROUNDED_COLOR = 0 0.3019608 1; +HP_DATA = 1 0 0.5019608 1; +ID = 1; +INACTIVE_COLOR = 1 1 1; +JOINT_DATA = 1 1 1 0; +LOAD_DATA = 1 1 0 0.5019608; +NICE_TRANSPARENCY = true; +SOLID_MODE = true; +SOLID_MODE_WITH_EDGES = true; +SPR_DA_DATA = 1 1 0.3019608 1; +STICKER_DATA = 1 1 0.4 0; +STRAINROSETTE_DATA = 1 0 0 1; +SYMBOL_LINE_WIDTH = 1; +SYMBOL_SCALE = 0.2; +TIRE_DATA = 1 0 0 1; +TRIAD_DATA = 1 0 1 0; +USE_ANTIALIAZING = true; +USE_FOG = false; +VISIBLE_BALL_JOINTS = true; +VISIBLE_BEAMS = true; +VISIBLE_BEAM_CS = true; +VISIBLE_BEAM_TRIADS = true; +VISIBLE_CAM_JOINTS = true; +VISIBLE_CYLINDRIC_JOINTS = true; +VISIBLE_FREE_JOINTS = true; +VISIBLE_INTERNAL_PART_CSS = false; +VISIBLE_PARTS = true; +VISIBLE_PART_COG_CS = true; +VISIBLE_PART_CS = false; +VISIBLE_PRISMATIC_JOINTS = true; +VISIBLE_REF_PLANE = true; +VISIBLE_REVOLUTE_JOINTS = true; +VISIBLE_RIGID_JOINTS = true; +VISIBLE_SEA_STATE = false; +VISIBLE_WAVES = true; +} + +MECHANISM +{ +BASE_ID = 1; +DESCR = "Corotated load test"; +EARTH_COORDINATE_SYSTEM = +1.00000000 0.00000000 0.00000000 0.00000000 +0.00000000 1.00000000 0.00000000 0.00000000 +0.00000000 0.00000000 1.00000000 0.00000000; +GLOBAL_INITIAL_VELOCITY = 0 0 0; +GRAVITY = 0 -9.81 0; +ID = 1; +POSITION_TOLERANCE = 0.0001; +RESULT_STATUS_DATA = <"response",1>; +} + +ANALYSIS +{ +AUTO_CURVE_EXPORT = true; +AUTO_CURVE_EXPORT_FILE = "exported_curves.asc"; +AUTO_CURVE_EXPORT_FORMAT = ASCII_MULTI_COLUMN; +AUTO_RAMSIZE_GSF_SOLVER = true; +AUTO_RAMSIZE_RECOVERY_MATRIX = true; +AUTO_RBM_ANIMATION = true; +AUTO_VTF_SOLVER_EXPORT = false; +AUTO_VTF_SOLVER_TYPE = EXPRESS; +AUTO_VTF_STRESS_EXPORT = false; +AUTO_VTF_STRESS_FILE = "stress.vtf"; +AUTO_VTF_STRESS_RANGE = 0 1; +AUTO_VTF_STRESS_TYPE = EXPRESS; +BASE_ID = 2; +CALCULATE_DAMPED_EIGENVALUES = false; +COROTATIONAL_ALGORITHM = 1; +COROTATIONAL_OFFSET_TOLERANCE = 0.05; +CUTBACK = false; +CUTBACK_FACTOR = 0.5; +CUTBACK_STEPS = 1; +DYNAMICS_SOLVER_ENABLE = true; +EIGENVALUE_SHIFT = 0; +EIGENVALUE_SOLUTION_TIME_INTERVAL = 0.1; +END_TIME = 2; +FORCE_NUM_IT = 5; +ID = 1; +IGNORE_TOLERANCE = false; +INITIAL_EQL_ITERATIONS = false; +MAXIMUM_NUM_IT = 50; +MAX_CONCURRENT_PROCESSES = 1; +MAX_SEQUENTIAL_NO_MATRIX_UPDATES = 5; +MINIMUM_NUM_IT = 1; +MIN_MATRIX_UPDATES = 5; +MIN_TIME_INCREMENT = 1e-06; +NEWMARK_ALPHA_FACTORS = 0.1 0; +NEWMARK_DAMPING = HHT_ALPHA; +NUM_EIGENMODES = 10; +OVERWRITE_FE_PARTS = false; +OVERWRITE_RESULTS = false; +QUASISTATIC_ENABLE = false; +QUASISTATIC_MODE = false; +QUASISTATIC_UPTOTIME = 0; +RAMP_DELAY = 0; +RAMP_GRAVITY = false; +RAMP_LENGTH = 2; +RAMP_MAX_SPEED = 1; +RAMP_STEPS = 0; +RAMSIZE_GSF_SOLVER = 0; +RAMSIZE_RECOVERY_MATRIX = 0; +RESTART = false; +RESTART_TIME = 0; +SOLVE_EIGENVALUES = false; +SOLVE_FREQUENCYDOMAIN = false; +START_TIME = 0; +STATIC_EQL_TOLERANCE = 1e-06; +STEP_REDUCTION_FACTOR = 1; +STOP_TIME_ENABLE = true; +STRESS_DEFORMATION_OUTPUT = true; +STRESS_MAX_PSTRAIN_OUTPUT = false; +STRESS_MAX_PSTRESS_OUTPUT = false; +STRESS_MAX_SHSTRAIN_OUTPUT = false; +STRESS_MAX_SHSTRESS_OUTPUT = false; +STRESS_MIN_PSTRAIN_OUTPUT = false; +STRESS_MIN_PSTRESS_OUTPUT = false; +STRESS_START_TIME = 0; +STRESS_STOP_TIME = 1; +STRESS_STRAIN_OUTPUT = false; +STRESS_STRESSRES_OUTPUT = false; +STRESS_STRESS_OUTPUT = false; +STRESS_TIME_INCR = 0.1; +STRESS_VMSTRAIN_OUTPUT = false; +STRESS_VMSTRESS_OUTPUT = true; +TIME_INCR = 0.01; +TOL_DISPLACEMENT_NORM = 1e-06 ALL_OF; +TOL_DISPLACEMENT_ROT = 0.0003 IGNORE; +TOL_DISPLACEMENT_TRA = 0.0001 IGNORE; +TOL_ENERGY_MAX = 0.0001 IGNORE; +TOL_ENERGY_SUM = 1e-06 ALL_OF; +TOL_MATRIX_UPDATE_FACTOR = 100; +TOL_RESIDUAL_NORM = 1 IGNORE; +TOL_RESIDUAL_ROT = 1 IGNORE; +TOL_RESIDUAL_TRA = 1 IGNORE; +TOL_VELOCITY_NORM = 1e-06 ALL_OF; +USE_ALL_TIME_STEPS = false; +USE_BC_ON_EIGENVALUES = false; +USE_DYNAMIC_RAMP = false; +USE_DYN_STRESS_STIFFENING = true; +USE_EIG_STRESS_STIFFENING = true; +USE_EQU_STRESS_STIFFENING = false; +USE_EXTERNAL_FUNCTION_FILE = false; +USE_FIXED_MATRIX_UPDATES = false; +USE_MASS_CORRECTION = false; +USE_RAMSIZE_GSF_SOLVER = false; +USE_RAMSIZE_RECOVERY_MATRIX = false; +USE_SOLVE_PROCESS_MODEL_FILE_PATH = false; +USE_SOLVE_PROCESS_PREFIX = false; +VELOCITY_PROP_TOLERANCE = 0; +} + +REF_PLANE +{ +BASE_ID = 3; +COLOR = 1 1 1; +COORDINATE_SYSTEM = +1.00000000 0.00000000 0.00000000 0.00000000 +0.00000000 1.00000000 0.00000000 0.00000000 +0.00000000 0.00000000 1.00000000 0.00000000; +HEIGHT = 1; +ID = 1; +LOCATION3D_DATA = CART_X_Y_Z EUL_Z_Y_X; +TRANSPARENCY = 0.65; +WIDTH = 1; +} + + +!*** Beams *** + +BEAM +{ +BASE_ID = 18; +COLOR = 0 0 1; +CS_POS_ALGORITHM = MODEL_DEFAULT; +ID = 1; +LINE_COLOR = 1 1 1; +LOCAL_ZAXIS = 0 0 0; +MASS_PROP_DAMP = 0; +MASS_SCALE = 1; +MESH_TYPE = SURFACE; +MODEL_TYPE = SURFACE; +PROPERTY = 1 FcBEAM_PROPERTY; +SHININESS = 0.8; +STIFFNESS_SCALE = 1; +STIF_PROP_DAMP = 0.02; +TRANSPARENCY = 0; +TRIADS = 1 3; +VISUALIZE3D = false; +VISUALIZE3D_ANGLES = 0 360; +} + +BEAM +{ +BASE_ID = 21; +COLOR = 0 0 1; +CS_POS_ALGORITHM = MODEL_DEFAULT; +ID = 2; +LINE_COLOR = 1 1 1; +LOCAL_ZAXIS = 0 0 0; +MASS_PROP_DAMP = 0; +MASS_SCALE = 1; +MESH_TYPE = SURFACE; +MODEL_TYPE = SURFACE; +PROPERTY = 1 FcBEAM_PROPERTY; +SHININESS = 0.8; +STIFFNESS_SCALE = 1; +STIF_PROP_DAMP = 0.02; +TRANSPARENCY = 0; +TRIADS = 3 4; +VISUALIZE3D = false; +VISUALIZE3D_ANGLES = 0 360; +} + +BEAM +{ +BASE_ID = 23; +COLOR = 0 0 1; +CS_POS_ALGORITHM = MODEL_DEFAULT; +ID = 3; +LINE_COLOR = 1 1 1; +LOCAL_ZAXIS = 0 0 0; +MASS_PROP_DAMP = 0; +MASS_SCALE = 1; +MESH_TYPE = SURFACE; +MODEL_TYPE = SURFACE; +PROPERTY = 1 FcBEAM_PROPERTY; +SHININESS = 0.8; +STIFFNESS_SCALE = 1; +STIF_PROP_DAMP = 0.02; +TRANSPARENCY = 0; +TRIADS = 4 5; +VISUALIZE3D = false; +VISUALIZE3D_ANGLES = 0 360; +} + +BEAM +{ +BASE_ID = 25; +COLOR = 0 0 1; +CS_POS_ALGORITHM = MODEL_DEFAULT; +ID = 4; +LINE_COLOR = 1 1 1; +LOCAL_ZAXIS = 0 0 0; +MASS_PROP_DAMP = 0; +MASS_SCALE = 1; +MESH_TYPE = SURFACE; +MODEL_TYPE = SURFACE; +PROPERTY = 1 FcBEAM_PROPERTY; +SHININESS = 0.8; +STIFFNESS_SCALE = 1; +STIF_PROP_DAMP = 0.02; +TRANSPARENCY = 0; +TRIADS = 5 6; +VISUALIZE3D = false; +VISUALIZE3D_ANGLES = 0 360; +} + +BEAM +{ +BASE_ID = 26; +COLOR = 0 0 1; +CS_POS_ALGORITHM = MODEL_DEFAULT; +ID = 5; +LINE_COLOR = 1 1 1; +LOCAL_ZAXIS = 0 0 0; +MASS_PROP_DAMP = 0; +MASS_SCALE = 1; +MESH_TYPE = SURFACE; +MODEL_TYPE = SURFACE; +PROPERTY = 1 FcBEAM_PROPERTY; +SHININESS = 0.8; +STIFFNESS_SCALE = 1; +STIF_PROP_DAMP = 0.02; +TRANSPARENCY = 0; +TRIADS = 6 2; +VISUALIZE3D = false; +VISUALIZE3D_ANGLES = 0 360; +} + + +!*** Triads *** + +TRIAD +{ +BASE_ID = 16; +COORDINATE_SYSTEM = +1.00000000 0.00000000 0.00000000 0.00000000 +0.00000000 1.00000000 0.00000000 0.00000000 +0.00000000 0.00000000 1.00000000 0.00000000; +DOF_STATUS = FIXED FIXED FIXED FIXED FIXED FIXED; +ID = 1; +LOCAL_DIRECTIONS = GLOBAL; +LOCATION3D_DATA = CART_X_Y_Z EUL_Z_Y_X; +NDOFS = 6; +} + +TRIAD +{ +BASE_ID = 17; +COORDINATE_SYSTEM = +1.00000000 0.00000000 0.00000000 5.00000000 +0.00000000 1.00000000 0.00000000 0.00000000 +0.00000000 0.00000000 1.00000000 0.00000000; +ID = 2; +LOCAL_DIRECTIONS = GLOBAL; +LOCATION3D_DATA = CART_X_Y_Z EUL_Z_Y_X; +NDOFS = 6; +} + +TRIAD +{ +BASE_ID = 19; +COORDINATE_SYSTEM = +1.00000000 0.00000000 0.00000000 1.00000000 +0.00000000 1.00000000 0.00000000 0.00000000 +0.00000000 0.00000000 1.00000000 0.00000000; +ID = 3; +LOCAL_DIRECTIONS = GLOBAL; +LOCATION3D_DATA = CART_X_Y_Z EUL_Z_Y_X; +NDOFS = 6; +} + +TRIAD +{ +BASE_ID = 20; +COORDINATE_SYSTEM = +1.00000000 0.00000000 0.00000000 2.00000000 +0.00000000 1.00000000 0.00000000 0.00000000 +0.00000000 0.00000000 1.00000000 0.00000000; +ID = 4; +LOCAL_DIRECTIONS = GLOBAL; +LOCATION3D_DATA = CART_X_Y_Z EUL_Z_Y_X; +NDOFS = 6; +} + +TRIAD +{ +BASE_ID = 22; +COORDINATE_SYSTEM = +1.00000000 0.00000000 0.00000000 3.00000000 +0.00000000 1.00000000 0.00000000 0.00000000 +0.00000000 0.00000000 1.00000000 0.00000000; +ID = 5; +LOCAL_DIRECTIONS = GLOBAL; +LOCATION3D_DATA = CART_X_Y_Z EUL_Z_Y_X; +NDOFS = 6; +} + +TRIAD +{ +BASE_ID = 24; +COORDINATE_SYSTEM = +1.00000000 0.00000000 0.00000000 4.00000000 +0.00000000 1.00000000 0.00000000 0.00000000 +0.00000000 0.00000000 1.00000000 0.00000000; +ID = 6; +LOCAL_DIRECTIONS = GLOBAL; +LOCATION3D_DATA = CART_X_Y_Z EUL_Z_Y_X; +NDOFS = 6; +} + +TRIAD +{ +ADD_MASS = 100 100 100 1 1 1 + 0 0 0; +BASE_ID = 30; +COORDINATE_SYSTEM = +1.00000000 0.00000000 0.00000000 4.00000000 +0.00000000 1.00000000 0.00000000 -1.00000000 +0.00000000 0.00000000 1.00000000 0.00000000; +ID = 8; +LOCAL_DIRECTIONS = GLOBAL; +LOCATION3D_DATA = CART_X_Y_Z EUL_Z_Y_X; +NDOFS = 6; +SAVE_VAR = 1 0 0 0 0 0 0; +} + + +!*** Loads *** + +LOAD +{ +BASE_ID = 45; +FROM_OBJECT = 2 FcTRIAD; +FROM_POINT = 0 0 0; +ID = 1; +LOAD_TYPE = FORCE; +OWNER_TRIAD = 2; +TO_OBJECT = 8 FcTRIAD; +TO_POINT = 0 0 0; +VALUE = 10000000; +} + + +!*** Axial springs *** + +AXIAL_SPRING +{ +BASE_ID = 31; +ID = 1; +INIT_LENGTH = 0; +STIFFNESS = 10000; +TRIAD_CONNECTIONS = 8 2; +USE_INIT_DEFLECTION = true; +} + + +!*** Animations *** + +ANIMATION +{ +AVERAGING_ACROSS_ELMTYPES = false; +AVERAGING_ACROSS_MATERIALS = false; +AVERAGING_ACROSS_PROPERTIES = false; +AVERAGING_ITEM = "Node"; +AVERAGING_OP_NAME = "None"; +COLOR_MAPPING_OP_NAME = "Full color"; +DEFORMATION_SCALE = 1; +DESCR = "dynamics (rigid body motion)"; +EIGENMODE_AMPLITUDE = 1; +EIGENMODE_DURATIONN_CYCLES = 1; +EIGENMODE_DURATION_TIME = 1; +EIGENMODE_DURATION_UNTIL_DAMPED = 90; +EIGENMODE_DURATION_USE_NCYCLES = true; +EIGENMODE_DURATION_USE_TIME = false; +EIGENMODE_DURATION_USE_UNTILDAMPED = false; +EIGENMODE_FRAMES_PR_CYCLE = 50; +EIGENMODE_NR = 1; +EIGENMODE_TIME = 0; +EIGENMODE_TYPE = SYSTEM_MODES; +EXPORT_AUTOMATICALLY = false; +FRINGE_RESULT_CLASS = "Element node"; +FRINGE_TO_SCALAR_OP_NAME = "None"; +FRINGE_VARIABLE_NAME = "Von Mises stress"; +ID = 1; +IS_MODES_ANIMATION = false; +IS_SUMMARY_ANIMATION = false; +LEGEND_MAPPING_OP_NAME = "Linear"; +LEGEND_RANGE = 0 0; +LEGEND_TICK_COUNT = 7; +LEGEND_TICK_SPACING = 100000; +LEGEND_TICK_SPACING_IS_PR_DECADE = false; +LOAD_DEFORMATION_DATA = false; +LOAD_FRINGE_DATA = false; +LOAD_LINE_FRINGE_DATA = false; +MAKE_FRAME_FOR_MOST_FREQUENT_RESULT = false; +MAX_MEMBRANE_ANGLE_TO_AVERAGE_ACROSS = 0.17; +MULTI_FACERES_AVERAGING_OP_NAME = "Absolute Max"; +RESULT_SET_NAME = "Basic"; +RESULT_SET_SELECTION_BY_NAME = false; +RESULT_SET_SELECTION_OP_NAME = "Absolute Max"; +SHOW_DEFORMATION = true; +SHOW_FRINGES = false; +SHOW_LEGEND = true; +SHOW_LINK_MOTION = true; +SHOW_TRIAD_MOTION = true; +SMOOTH_LEGEND = true; +TIME_INTERVAL = 0 1; +USE_LEGEND_TICK_COUNT = true; +USING_TIME_INTERVAL = false; +} + + +!*** Graphs *** + +GRAPH +{ +AUTO_SCALE = true; +BEAM_DIAGRAM = false; +DESCR = "Algorithm parameters"; +FONT_SIZE = 10 8 8; +GRID_TYPE = 2; +ID = 1; +SHOW_LEGEND = true; +TIME_RANGE = 0 1; +TITLE = "Algorithm parameters"; +USE_TIME_RANGE = false; +X_AXIS_LABEL = "Time [s]"; +X_AXIS_RANGE = -1 1; +Y_AXIS_LABEL = "Number"; +Y_AXIS_RANGE = -1 1; +} + +GRAPH +{ +AUTO_SCALE = true; +BEAM_DIAGRAM = false; +DESCR = "System energy"; +FONT_SIZE = 10 8 8; +GRID_TYPE = 2; +ID = 2; +SHOW_LEGEND = true; +TIME_RANGE = 0 1; +TITLE = "System energy"; +USE_TIME_RANGE = false; +X_AXIS_LABEL = "Time [s]"; +X_AXIS_RANGE = -1 1; +Y_AXIS_LABEL = "Energy [Nm]"; +Y_AXIS_RANGE = -1 1; +} + +GRAPH +{ +AUTO_SCALE = true; +BEAM_DIAGRAM = false; +DESCR = "Mass velocity"; +FONT_SIZE = 10 8 8; +GRID_TYPE = 2; +ID = 3; +SHOW_LEGEND = false; +TIME_RANGE = 0 1; +USE_TIME_RANGE = false; +X_AXIS_RANGE = -1 1; +Y_AXIS_RANGE = -1 1; +} + + +!*** Curves *** + +CURVE_SET +{ +AUTOLEGEND = false; +CURVE_COLOR = 0 0 1; +CURVE_NUMBER_SYMBOLS = 10; +CURVE_STYLE = 0; +CURVE_SYMBOL = 2; +CURVE_SYMBOL_SIZE = 5; +CURVE_WIDTH = 0; +DATA_ANALYSIS = NONE; +DESCR = "Number of system matrix updates"; +DFT_DOMAIN = 0 1; +DFT_REMOVE_STATIC_COMPONENT = false; +DFT_RESAMPLE_DATA = false; +DFT_RESAMPLE_RATE = 0.01; +DFT_USING_ENTIRE_DOMAIN = true; +EXPORT_AUTOMATICALLY = false; +FATIGUE_DOMAIN = 0 1; +FATIGUE_GATE_VALUE = 1; +FATIGUE_LIFE_UNIT = REPEATS; +FATIGUE_SN_CURVE = 0; +FATIGUE_SN_STD = 0; +FATIGUE_USING_ENTIRE_DOMAIN = true; +FUNC_AUTOINC = false; +FUNC_DOMAIN = 0 1; +FUNC_INC = 0.1; +ID = 1; +INPUT_MODE = TEMPORAL_RESULT; +LEGEND = "Number of system matrix updates"; +OFFSET_X = 0; +OFFSET_Y = 0; +OWNER_GRAPH = 1; +SCALE_FACTOR_X = 1; +SCALE_FACTOR_Y = 1; +TIME_RANGE = 0 1; +X_AXIS_RESULT = <"SCALAR","Physical time">; +X_AXIS_RESULT_OPER = "None"; +Y_AXIS_RESULT = <"Mechanism",1,1,"NUMBER","Algorithm parameters","Number of system matrix updates">; +Y_AXIS_RESULT_OBJECT = 1 FcMECHANISM; +Y_AXIS_RESULT_OPER = "None"; +ZERO_ADJUST_X = false; +ZERO_ADJUST_Y = false; +} + +CURVE_SET +{ +AUTOLEGEND = false; +CURVE_COLOR = 1 0 1; +CURVE_NUMBER_SYMBOLS = 10; +CURVE_STYLE = 0; +CURVE_SYMBOL = 3; +CURVE_SYMBOL_SIZE = 5; +CURVE_WIDTH = 0; +DATA_ANALYSIS = NONE; +DESCR = "Number of iterations"; +DFT_DOMAIN = 0 1; +DFT_REMOVE_STATIC_COMPONENT = false; +DFT_RESAMPLE_DATA = false; +DFT_RESAMPLE_RATE = 0.01; +DFT_USING_ENTIRE_DOMAIN = true; +EXPORT_AUTOMATICALLY = false; +FATIGUE_DOMAIN = 0 1; +FATIGUE_GATE_VALUE = 1; +FATIGUE_LIFE_UNIT = REPEATS; +FATIGUE_SN_CURVE = 0; +FATIGUE_SN_STD = 0; +FATIGUE_USING_ENTIRE_DOMAIN = true; +FUNC_AUTOINC = false; +FUNC_DOMAIN = 0 1; +FUNC_INC = 0.1; +ID = 2; +INPUT_MODE = TEMPORAL_RESULT; +LEGEND = "Number of iterations"; +OFFSET_X = 0; +OFFSET_Y = 0; +OWNER_GRAPH = 1; +SCALE_FACTOR_X = 1; +SCALE_FACTOR_Y = 1; +TIME_RANGE = 0 1; +X_AXIS_RESULT = <"SCALAR","Physical time">; +X_AXIS_RESULT_OPER = "None"; +Y_AXIS_RESULT = <"Mechanism",1,1,"NUMBER","Algorithm parameters","Number of iterations">; +Y_AXIS_RESULT_OBJECT = 1 FcMECHANISM; +Y_AXIS_RESULT_OPER = "None"; +ZERO_ADJUST_X = false; +ZERO_ADJUST_Y = false; +} + +CURVE_SET +{ +AUTOLEGEND = false; +CURVE_COLOR = 1 0 0; +CURVE_NUMBER_SYMBOLS = 10; +CURVE_STYLE = 0; +CURVE_SYMBOL = 3; +CURVE_SYMBOL_SIZE = 5; +CURVE_WIDTH = 2; +DATA_ANALYSIS = NONE; +DESCR = "Energy check-sum"; +DFT_DOMAIN = 0 1; +DFT_REMOVE_STATIC_COMPONENT = false; +DFT_RESAMPLE_DATA = false; +DFT_RESAMPLE_RATE = 0.01; +DFT_USING_ENTIRE_DOMAIN = true; +EXPORT_AUTOMATICALLY = false; +FATIGUE_DOMAIN = 0 1; +FATIGUE_GATE_VALUE = 1; +FATIGUE_LIFE_UNIT = REPEATS; +FATIGUE_SN_CURVE = 0; +FATIGUE_SN_STD = 0; +FATIGUE_USING_ENTIRE_DOMAIN = true; +FUNC_AUTOINC = false; +FUNC_DOMAIN = 0 1; +FUNC_INC = 0.1; +ID = 3; +INPUT_MODE = TEMPORAL_RESULT; +LEGEND = "Energy check-sum"; +OFFSET_X = 0; +OFFSET_Y = 0; +OWNER_GRAPH = 2; +SCALE_FACTOR_X = 1; +SCALE_FACTOR_Y = 1; +TIME_RANGE = 0 1; +X_AXIS_RESULT = <"SCALAR","Physical time">; +X_AXIS_RESULT_OPER = "None"; +Y_AXIS_RESULT = <"Mechanism",1,1,"SCALAR","System energy","Energy check-sum">; +Y_AXIS_RESULT_OBJECT = 1 FcMECHANISM; +Y_AXIS_RESULT_OPER = "None"; +ZERO_ADJUST_X = false; +ZERO_ADJUST_Y = false; +} + +CURVE_SET +{ +AUTOLEGEND = false; +CURVE_COLOR = 1 0 1; +CURVE_NUMBER_SYMBOLS = 10; +CURVE_STYLE = 0; +CURVE_SYMBOL = 1; +CURVE_SYMBOL_SIZE = 5; +CURVE_WIDTH = 0; +DATA_ANALYSIS = NONE; +DESCR = "Energy input"; +DFT_DOMAIN = 0 1; +DFT_REMOVE_STATIC_COMPONENT = false; +DFT_RESAMPLE_DATA = false; +DFT_RESAMPLE_RATE = 0.01; +DFT_USING_ENTIRE_DOMAIN = true; +EXPORT_AUTOMATICALLY = false; +FATIGUE_DOMAIN = 0 1; +FATIGUE_GATE_VALUE = 1; +FATIGUE_LIFE_UNIT = REPEATS; +FATIGUE_SN_CURVE = 0; +FATIGUE_SN_STD = 0; +FATIGUE_USING_ENTIRE_DOMAIN = true; +FUNC_AUTOINC = false; +FUNC_DOMAIN = 0 1; +FUNC_INC = 0.1; +ID = 4; +INPUT_MODE = TEMPORAL_RESULT; +LEGEND = "Energy input"; +OFFSET_X = 0; +OFFSET_Y = 0; +OWNER_GRAPH = 2; +SCALE_FACTOR_X = 1; +SCALE_FACTOR_Y = 1; +TIME_RANGE = 0 1; +X_AXIS_RESULT = <"SCALAR","Physical time">; +X_AXIS_RESULT_OPER = "None"; +Y_AXIS_RESULT = <"Mechanism",1,1,"SCALAR","System energy","Energy input">; +Y_AXIS_RESULT_OBJECT = 1 FcMECHANISM; +Y_AXIS_RESULT_OPER = "None"; +ZERO_ADJUST_X = false; +ZERO_ADJUST_Y = false; +} + +CURVE_SET +{ +AUTOLEGEND = false; +CURVE_COLOR = 0 1 0; +CURVE_NUMBER_SYMBOLS = 10; +CURVE_STYLE = 0; +CURVE_SYMBOL = 2; +CURVE_SYMBOL_SIZE = 5; +CURVE_WIDTH = 0; +DATA_ANALYSIS = NONE; +DESCR = "Energy loss"; +DFT_DOMAIN = 0 1; +DFT_REMOVE_STATIC_COMPONENT = false; +DFT_RESAMPLE_DATA = false; +DFT_RESAMPLE_RATE = 0.01; +DFT_USING_ENTIRE_DOMAIN = true; +EXPORT_AUTOMATICALLY = false; +FATIGUE_DOMAIN = 0 1; +FATIGUE_GATE_VALUE = 1; +FATIGUE_LIFE_UNIT = REPEATS; +FATIGUE_SN_CURVE = 0; +FATIGUE_SN_STD = 0; +FATIGUE_USING_ENTIRE_DOMAIN = true; +FUNC_AUTOINC = false; +FUNC_DOMAIN = 0 1; +FUNC_INC = 0.1; +ID = 5; +INPUT_MODE = TEMPORAL_RESULT; +LEGEND = "Energy loss"; +OFFSET_X = 0; +OFFSET_Y = 0; +OWNER_GRAPH = 2; +SCALE_FACTOR_X = 1; +SCALE_FACTOR_Y = 1; +TIME_RANGE = 0 1; +X_AXIS_RESULT = <"SCALAR","Physical time">; +X_AXIS_RESULT_OPER = "None"; +Y_AXIS_RESULT = <"Mechanism",1,1,"SCALAR","System energy","Energy loss">; +Y_AXIS_RESULT_OBJECT = 1 FcMECHANISM; +Y_AXIS_RESULT_OPER = "None"; +ZERO_ADJUST_X = false; +ZERO_ADJUST_Y = false; +} + +CURVE_SET +{ +AUTOLEGEND = false; +CURVE_COLOR = 0 0 1; +CURVE_NUMBER_SYMBOLS = 10; +CURVE_STYLE = 0; +CURVE_SYMBOL = 4; +CURVE_SYMBOL_SIZE = 5; +CURVE_WIDTH = 0; +DATA_ANALYSIS = NONE; +DESCR = "Strain energy"; +DFT_DOMAIN = 0 1; +DFT_REMOVE_STATIC_COMPONENT = false; +DFT_RESAMPLE_DATA = false; +DFT_RESAMPLE_RATE = 0.01; +DFT_USING_ENTIRE_DOMAIN = true; +EXPORT_AUTOMATICALLY = false; +FATIGUE_DOMAIN = 0 1; +FATIGUE_GATE_VALUE = 1; +FATIGUE_LIFE_UNIT = REPEATS; +FATIGUE_SN_CURVE = 0; +FATIGUE_SN_STD = 0; +FATIGUE_USING_ENTIRE_DOMAIN = true; +FUNC_AUTOINC = false; +FUNC_DOMAIN = 0 1; +FUNC_INC = 0.1; +ID = 6; +INPUT_MODE = TEMPORAL_RESULT; +LEGEND = "Strain energy"; +OFFSET_X = 0; +OFFSET_Y = 0; +OWNER_GRAPH = 2; +SCALE_FACTOR_X = 1; +SCALE_FACTOR_Y = 1; +TIME_RANGE = 0 1; +X_AXIS_RESULT = <"SCALAR","Physical time">; +X_AXIS_RESULT_OPER = "None"; +Y_AXIS_RESULT = <"Mechanism",1,1,"SCALAR","System energy","Strain energy">; +Y_AXIS_RESULT_OBJECT = 1 FcMECHANISM; +Y_AXIS_RESULT_OPER = "None"; +ZERO_ADJUST_X = false; +ZERO_ADJUST_Y = false; +} + +CURVE_SET +{ +AUTOLEGEND = false; +CURVE_COLOR = 1 0.5 0; +CURVE_NUMBER_SYMBOLS = 10; +CURVE_STYLE = 0; +CURVE_SYMBOL = 5; +CURVE_SYMBOL_SIZE = 5; +CURVE_WIDTH = 0; +DATA_ANALYSIS = NONE; +DESCR = "Kinetic energy"; +DFT_DOMAIN = 0 1; +DFT_REMOVE_STATIC_COMPONENT = false; +DFT_RESAMPLE_DATA = false; +DFT_RESAMPLE_RATE = 0.01; +DFT_USING_ENTIRE_DOMAIN = true; +EXPORT_AUTOMATICALLY = false; +FATIGUE_DOMAIN = 0 1; +FATIGUE_GATE_VALUE = 1; +FATIGUE_LIFE_UNIT = REPEATS; +FATIGUE_SN_CURVE = 0; +FATIGUE_SN_STD = 0; +FATIGUE_USING_ENTIRE_DOMAIN = true; +FUNC_AUTOINC = false; +FUNC_DOMAIN = 0 1; +FUNC_INC = 0.1; +ID = 7; +INPUT_MODE = TEMPORAL_RESULT; +LEGEND = "Kinetic energy"; +OFFSET_X = 0; +OFFSET_Y = 0; +OWNER_GRAPH = 2; +SCALE_FACTOR_X = 1; +SCALE_FACTOR_Y = 1; +TIME_RANGE = 0 1; +X_AXIS_RESULT = <"SCALAR","Physical time">; +X_AXIS_RESULT_OPER = "None"; +Y_AXIS_RESULT = <"Mechanism",1,1,"SCALAR","System energy","Kinetic energy">; +Y_AXIS_RESULT_OBJECT = 1 FcMECHANISM; +Y_AXIS_RESULT_OPER = "None"; +ZERO_ADJUST_X = false; +ZERO_ADJUST_Y = false; +} + +CURVE_SET +{ +AUTOLEGEND = false; +CURVE_COLOR = 0 1 1; +CURVE_NUMBER_SYMBOLS = 10; +CURVE_STYLE = 0; +CURVE_SYMBOL = 6; +CURVE_SYMBOL_SIZE = 5; +CURVE_WIDTH = 0; +DATA_ANALYSIS = NONE; +DESCR = "Potential energy"; +DFT_DOMAIN = 0 1; +DFT_REMOVE_STATIC_COMPONENT = false; +DFT_RESAMPLE_DATA = false; +DFT_RESAMPLE_RATE = 0.01; +DFT_USING_ENTIRE_DOMAIN = true; +EXPORT_AUTOMATICALLY = false; +FATIGUE_DOMAIN = 0 1; +FATIGUE_GATE_VALUE = 1; +FATIGUE_LIFE_UNIT = REPEATS; +FATIGUE_SN_CURVE = 0; +FATIGUE_SN_STD = 0; +FATIGUE_USING_ENTIRE_DOMAIN = true; +FUNC_AUTOINC = false; +FUNC_DOMAIN = 0 1; +FUNC_INC = 0.1; +ID = 8; +INPUT_MODE = TEMPORAL_RESULT; +LEGEND = "Potential energy"; +OFFSET_X = 0; +OFFSET_Y = 0; +OWNER_GRAPH = 2; +SCALE_FACTOR_X = 1; +SCALE_FACTOR_Y = 1; +TIME_RANGE = 0 1; +X_AXIS_RESULT = <"SCALAR","Physical time">; +X_AXIS_RESULT_OPER = "None"; +Y_AXIS_RESULT = <"Mechanism",1,1,"SCALAR","System energy","Potential energy">; +Y_AXIS_RESULT_OBJECT = 1 FcMECHANISM; +Y_AXIS_RESULT_OPER = "None"; +ZERO_ADJUST_X = false; +ZERO_ADJUST_Y = false; +} + +CURVE_SET +{ +AUTOLEGEND = true; +CURVE_COLOR = 0 0 0; +CURVE_NUMBER_SYMBOLS = 10; +CURVE_STYLE = 0; +CURVE_SYMBOL = 0; +CURVE_SYMBOL_SIZE = 5; +CURVE_WIDTH = 1; +DATA_ANALYSIS = NONE; +DESCR = "Triad [8], Velocity, X vs Time"; +DFT_DOMAIN = 0 1; +DFT_REMOVE_STATIC_COMPONENT = false; +DFT_RESAMPLE_DATA = false; +DFT_RESAMPLE_RATE = 0.01; +DFT_USING_ENTIRE_DOMAIN = true; +EXPORT_AUTOMATICALLY = true; +FATIGUE_DOMAIN = 0 1; +FATIGUE_GATE_VALUE = 1; +FATIGUE_LIFE_UNIT = REPEATS; +FATIGUE_SN_CURVE = -1; +FATIGUE_SN_STD = -1; +FATIGUE_USING_ENTIRE_DOMAIN = true; +FUNC_AUTOINC = false; +FUNC_DOMAIN = 0 1; +FUNC_INC = 0.1; +ID = 9; +INPUT_MODE = TEMPORAL_RESULT; +LEGEND = "Triad [8], Velocity, X vs Time"; +OFFSET_X = 0; +OFFSET_Y = 0; +OWNER_GRAPH = 3; +SCALE_FACTOR_X = 1; +SCALE_FACTOR_Y = 1; +TIME_RANGE = 0 1; +X_AXIS_RESULT = <"SCALAR","Physical time">; +X_AXIS_RESULT_OPER = "None"; +Y_AXIS_RESULT = <"Triad",30,8,"VEC3","Velocity">; +Y_AXIS_RESULT_OBJECT = 8 FcTRIAD; +Y_AXIS_RESULT_OPER = "X"; +ZERO_ADJUST_X = false; +ZERO_ADJUST_Y = false; +} + +CURVE_SET +{ +AUTOLEGEND = true; +CURVE_COLOR = 0 0 0.8235294; +CURVE_NUMBER_SYMBOLS = 10; +CURVE_STYLE = 0; +CURVE_SYMBOL = 0; +CURVE_SYMBOL_SIZE = 5; +CURVE_WIDTH = 1; +DATA_ANALYSIS = NONE; +DESCR = "Triad [8], Velocity, Y vs Time"; +DFT_DOMAIN = 0 1; +DFT_REMOVE_STATIC_COMPONENT = false; +DFT_RESAMPLE_DATA = false; +DFT_RESAMPLE_RATE = 0.01; +DFT_USING_ENTIRE_DOMAIN = true; +EXPORT_AUTOMATICALLY = true; +FATIGUE_DOMAIN = 0 1; +FATIGUE_GATE_VALUE = 1; +FATIGUE_LIFE_UNIT = REPEATS; +FATIGUE_SN_CURVE = -1; +FATIGUE_SN_STD = -1; +FATIGUE_USING_ENTIRE_DOMAIN = true; +FUNC_AUTOINC = false; +FUNC_DOMAIN = 0 1; +FUNC_INC = 0.1; +ID = 10; +INPUT_MODE = TEMPORAL_RESULT; +LEGEND = "Triad [8], Velocity, Y vs Time"; +OFFSET_X = 0; +OFFSET_Y = 0; +OWNER_GRAPH = 3; +SCALE_FACTOR_X = 1; +SCALE_FACTOR_Y = 1; +TIME_RANGE = 0 1; +X_AXIS_RESULT = <"SCALAR","Physical time">; +X_AXIS_RESULT_OPER = "None"; +Y_AXIS_RESULT = <"Triad",30,8,"VEC3","Velocity">; +Y_AXIS_RESULT_OBJECT = 8 FcTRIAD; +Y_AXIS_RESULT_OPER = "Y"; +ZERO_ADJUST_X = false; +ZERO_ADJUST_Y = false; +} + + +!*** Beam cross sections *** + +BEAM_PROPERTY +{ +AREA = 0.0706858347058; +AREA_MOMENT_IP = 0.00362264902867; +AREA_MOMENT_IY = 0.00181132451434; +AREA_MOMENT_IZ = 0.00181132451434; +BREAK_DEPENDENCY = false; +GENERIC_EA = 0; +GENERIC_EI = 0 0; +GENERIC_GAS = 0 0; +GENERIC_GIT = 0; +GENERIC_IP = 0; +GENERIC_MASS = 0; +HYDRO_CA = 1; +HYDRO_CA_AXIAL = 0; +HYDRO_CD = 1; +HYDRO_CD_AXIAL = 0; +HYDRO_CD_SPIN = 0; +HYDRO_CM = 2; +HYDRO_CM_AXIAL = 0; +HYDRO_DB = 0; +HYDRO_DD = 0; +HYDRO_DI = 0; +HYDRO_TOGGLE = false; +ID = 1; +MATERIAL = 1; +SHEAR_CENTRE = 0 0; +SHEAR_REDUCTION = 2 2; +TUBE_DI = 0.4; +TUBE_DO = 0.5; +TYPE = PIPE; +} + + +!*** Materials *** + +MATERIAL_PROPERTY +{ +ID = 1; +MASS_DENSITY = 7850; +POISSONS_RATIO = 0.29; +SHEAR_MODULUS = 81395348837.2; +YOUNGS_MODULUS = 210000000000; +} + +END {FEDEMMODELFILE} diff --git a/TimeDomain/CorotatedLoad/Model.fsi b/TimeDomain/CorotatedLoad/Model.fsi new file mode 100644 index 0000000..c5e5001 --- /dev/null +++ b/TimeDomain/CorotatedLoad/Model.fsi @@ -0,0 +1,291 @@ +&HEADING + modelFile = '/home/kmo/FEDEM/fedem-solvers/solverTests/TimeDomain/CorotatedLoad/CorotatedLoad.fmm' + version = 3.0 +/ + +&ENVIRONMENT + gravity = 0.000000000e+00 -9.810000000e+00 0.000000000e+00 +/ + +&MECHANISM + id = 1 + extId = 1 + extDescr = 'Corotated load test' + weightTranslation = 2.000000000e-01 + weightRotation = 1.000000000e+00 + weightGeneralized = 1.000000000e+00 +/ + +&TRIAD + id = 16 + extId = 1 + nDOFs = 6 + ur = 1.000000000e+00 0.000000000e+00 0.000000000e+00 0.000000000e+00 + 0.000000000e+00 1.000000000e+00 0.000000000e+00 0.000000000e+00 + 0.000000000e+00 0.000000000e+00 1.000000000e+00 0.000000000e+00 + BC = 0 0 0 0 0 0 +/ + +&TRIAD + id = 17 + extId = 2 + nDOFs = 6 + ur = 1.000000000e+00 0.000000000e+00 0.000000000e+00 5.000000000e+00 + 0.000000000e+00 1.000000000e+00 0.000000000e+00 0.000000000e+00 + 0.000000000e+00 0.000000000e+00 1.000000000e+00 0.000000000e+00 +/ + +&TRIAD + id = 19 + extId = 3 + nDOFs = 6 + ur = 1.000000000e+00 0.000000000e+00 0.000000000e+00 1.000000000e+00 + 0.000000000e+00 1.000000000e+00 0.000000000e+00 0.000000000e+00 + 0.000000000e+00 0.000000000e+00 1.000000000e+00 0.000000000e+00 +/ + +&TRIAD + id = 20 + extId = 4 + nDOFs = 6 + ur = 1.000000000e+00 0.000000000e+00 0.000000000e+00 2.000000000e+00 + 0.000000000e+00 1.000000000e+00 0.000000000e+00 0.000000000e+00 + 0.000000000e+00 0.000000000e+00 1.000000000e+00 0.000000000e+00 +/ + +&TRIAD + id = 22 + extId = 5 + nDOFs = 6 + ur = 1.000000000e+00 0.000000000e+00 0.000000000e+00 3.000000000e+00 + 0.000000000e+00 1.000000000e+00 0.000000000e+00 0.000000000e+00 + 0.000000000e+00 0.000000000e+00 1.000000000e+00 0.000000000e+00 +/ + +&TRIAD + id = 24 + extId = 6 + nDOFs = 6 + ur = 1.000000000e+00 0.000000000e+00 0.000000000e+00 4.000000000e+00 + 0.000000000e+00 1.000000000e+00 0.000000000e+00 0.000000000e+00 + 0.000000000e+00 0.000000000e+00 1.000000000e+00 0.000000000e+00 +/ + +&TRIAD + id = 30 + extId = 8 + nDOFs = 6 + ur = 1.000000000e+00 0.000000000e+00 0.000000000e+00 4.000000000e+00 + 0.000000000e+00 1.000000000e+00 0.000000000e+00 -1.000000000e+00 + 0.000000000e+00 0.000000000e+00 1.000000000e+00 0.000000000e+00 + saveVar = 1 0 0 0 0 0 0 +/ + +&SUP_EL + id = 18 + extId = 1 + numTriads = 2 + triadIds = 16 19 + elPropId = 57 + shadowPosAlg = 1 + refTriad1Id = 16, offset1 = 0.000000000e+00 0.000000000e+00 0.000000000e+00 + refTriad2Id = 19, offset2 = 0.000000000e+00 0.000000000e+00 0.000000000e+00 + refTriad3Id = 16, offset3 = 0.000000000e+00 1.000000000e+00 0.000000000e+00 + massCorrFlag = 0 + stiffScale = 1.000000000e+00 + massScale = 1.000000000e+00 + alpha1 = 0.000000000e+00, alpha2 = 2.000000000e-02 + supPos = 1.000000000e+00 -0.000000000e+00 -0.000000000e+00 0.000000000e+00 + 0.000000000e+00 1.000000000e+00 -0.000000000e+00 0.000000000e+00 + 0.000000000e+00 0.000000000e+00 1.000000000e+00 0.000000000e+00 +/ +&TRIAD_UNDPOS + supElId = 18 + triadId = 16 + undPosInSupElSystem = 1.000000000e+00 0.000000000e+00 0.000000000e+00 0.000000000e+00 + 0.000000000e+00 1.000000000e+00 0.000000000e+00 0.000000000e+00 + 0.000000000e+00 0.000000000e+00 1.000000000e+00 0.000000000e+00 +/ +&TRIAD_UNDPOS + supElId = 18 + triadId = 19 + undPosInSupElSystem = 1.000000000e+00 0.000000000e+00 0.000000000e+00 1.000000000e+00 + 0.000000000e+00 1.000000000e+00 0.000000000e+00 0.000000000e+00 + 0.000000000e+00 0.000000000e+00 1.000000000e+00 0.000000000e+00 +/ + +&SUP_EL + id = 21 + extId = 2 + numTriads = 2 + triadIds = 19 20 + elPropId = 57 + shadowPosAlg = 1 + refTriad1Id = 19, offset1 = 0.000000000e+00 0.000000000e+00 0.000000000e+00 + refTriad2Id = 20, offset2 = 0.000000000e+00 0.000000000e+00 0.000000000e+00 + refTriad3Id = 19, offset3 = 0.000000000e+00 1.000000000e+00 0.000000000e+00 + massCorrFlag = 0 + stiffScale = 1.000000000e+00 + massScale = 1.000000000e+00 + alpha1 = 0.000000000e+00, alpha2 = 2.000000000e-02 + supPos = 1.000000000e+00 -0.000000000e+00 -0.000000000e+00 1.000000000e+00 + 0.000000000e+00 1.000000000e+00 -0.000000000e+00 0.000000000e+00 + 0.000000000e+00 0.000000000e+00 1.000000000e+00 0.000000000e+00 +/ +&TRIAD_UNDPOS + supElId = 21 + triadId = 19 + undPosInSupElSystem = 1.000000000e+00 0.000000000e+00 0.000000000e+00 0.000000000e+00 + 0.000000000e+00 1.000000000e+00 0.000000000e+00 0.000000000e+00 + 0.000000000e+00 0.000000000e+00 1.000000000e+00 0.000000000e+00 +/ +&TRIAD_UNDPOS + supElId = 21 + triadId = 20 + undPosInSupElSystem = 1.000000000e+00 0.000000000e+00 0.000000000e+00 1.000000000e+00 + 0.000000000e+00 1.000000000e+00 0.000000000e+00 0.000000000e+00 + 0.000000000e+00 0.000000000e+00 1.000000000e+00 0.000000000e+00 +/ + +&SUP_EL + id = 23 + extId = 3 + numTriads = 2 + triadIds = 20 22 + elPropId = 57 + shadowPosAlg = 1 + refTriad1Id = 20, offset1 = 0.000000000e+00 0.000000000e+00 0.000000000e+00 + refTriad2Id = 22, offset2 = 0.000000000e+00 0.000000000e+00 0.000000000e+00 + refTriad3Id = 20, offset3 = 0.000000000e+00 1.000000000e+00 0.000000000e+00 + massCorrFlag = 0 + stiffScale = 1.000000000e+00 + massScale = 1.000000000e+00 + alpha1 = 0.000000000e+00, alpha2 = 2.000000000e-02 + supPos = 1.000000000e+00 -0.000000000e+00 -0.000000000e+00 2.000000000e+00 + 0.000000000e+00 1.000000000e+00 -0.000000000e+00 0.000000000e+00 + 0.000000000e+00 0.000000000e+00 1.000000000e+00 0.000000000e+00 +/ +&TRIAD_UNDPOS + supElId = 23 + triadId = 20 + undPosInSupElSystem = 1.000000000e+00 0.000000000e+00 0.000000000e+00 0.000000000e+00 + 0.000000000e+00 1.000000000e+00 0.000000000e+00 0.000000000e+00 + 0.000000000e+00 0.000000000e+00 1.000000000e+00 0.000000000e+00 +/ +&TRIAD_UNDPOS + supElId = 23 + triadId = 22 + undPosInSupElSystem = 1.000000000e+00 0.000000000e+00 0.000000000e+00 1.000000000e+00 + 0.000000000e+00 1.000000000e+00 0.000000000e+00 0.000000000e+00 + 0.000000000e+00 0.000000000e+00 1.000000000e+00 0.000000000e+00 +/ + +&SUP_EL + id = 25 + extId = 4 + numTriads = 2 + triadIds = 22 24 + elPropId = 57 + shadowPosAlg = 1 + refTriad1Id = 22, offset1 = 0.000000000e+00 0.000000000e+00 0.000000000e+00 + refTriad2Id = 24, offset2 = 0.000000000e+00 0.000000000e+00 0.000000000e+00 + refTriad3Id = 22, offset3 = 0.000000000e+00 1.000000000e+00 0.000000000e+00 + massCorrFlag = 0 + stiffScale = 1.000000000e+00 + massScale = 1.000000000e+00 + alpha1 = 0.000000000e+00, alpha2 = 2.000000000e-02 + supPos = 1.000000000e+00 -0.000000000e+00 -0.000000000e+00 3.000000000e+00 + 0.000000000e+00 1.000000000e+00 -0.000000000e+00 0.000000000e+00 + 0.000000000e+00 0.000000000e+00 1.000000000e+00 0.000000000e+00 +/ +&TRIAD_UNDPOS + supElId = 25 + triadId = 22 + undPosInSupElSystem = 1.000000000e+00 0.000000000e+00 0.000000000e+00 0.000000000e+00 + 0.000000000e+00 1.000000000e+00 0.000000000e+00 0.000000000e+00 + 0.000000000e+00 0.000000000e+00 1.000000000e+00 0.000000000e+00 +/ +&TRIAD_UNDPOS + supElId = 25 + triadId = 24 + undPosInSupElSystem = 1.000000000e+00 0.000000000e+00 0.000000000e+00 1.000000000e+00 + 0.000000000e+00 1.000000000e+00 0.000000000e+00 0.000000000e+00 + 0.000000000e+00 0.000000000e+00 1.000000000e+00 0.000000000e+00 +/ + +&SUP_EL + id = 26 + extId = 5 + numTriads = 2 + triadIds = 24 17 + elPropId = 57 + shadowPosAlg = 1 + refTriad1Id = 24, offset1 = 0.000000000e+00 0.000000000e+00 0.000000000e+00 + refTriad2Id = 17, offset2 = 0.000000000e+00 0.000000000e+00 0.000000000e+00 + refTriad3Id = 24, offset3 = 0.000000000e+00 1.000000000e+00 0.000000000e+00 + massCorrFlag = 0 + stiffScale = 1.000000000e+00 + massScale = 1.000000000e+00 + alpha1 = 0.000000000e+00, alpha2 = 2.000000000e-02 + supPos = 1.000000000e+00 -0.000000000e+00 -0.000000000e+00 4.000000000e+00 + 0.000000000e+00 1.000000000e+00 -0.000000000e+00 0.000000000e+00 + 0.000000000e+00 0.000000000e+00 1.000000000e+00 0.000000000e+00 +/ +&TRIAD_UNDPOS + supElId = 26 + triadId = 24 + undPosInSupElSystem = 1.000000000e+00 0.000000000e+00 0.000000000e+00 0.000000000e+00 + 0.000000000e+00 1.000000000e+00 0.000000000e+00 0.000000000e+00 + 0.000000000e+00 0.000000000e+00 1.000000000e+00 0.000000000e+00 +/ +&TRIAD_UNDPOS + supElId = 26 + triadId = 17 + undPosInSupElSystem = 1.000000000e+00 0.000000000e+00 0.000000000e+00 1.000000000e+00 + 0.000000000e+00 1.000000000e+00 0.000000000e+00 0.000000000e+00 + 0.000000000e+00 0.000000000e+00 1.000000000e+00 0.000000000e+00 +/ + +! Axial spring +&SPRING_BASE + id = 31 + extId = 1 + l0 = 1.414213562e+00, l1 = 0.0, lengthEngineId = 0 + s0 = 1.000000000e+04 +/ + +! Axial spring +&SPRING_ELEMENT + id = 31 + extId = 1 + springBaseId = 31 + triadIDs = 30 17 +/ + +'Beam properties +&ELEMENT_PROPERTY + id = 57 + extId = 1 + geometry = 7.068583471e-02 1.811324514e-03 1.811324514e-03 3.622649029e-03 2.000000 2.000000 0.000000 0.000000 + material = 7.850000000e+03 2.100000000e+11 8.139534884e+10 +/ + +&LOAD + id = 45 + extId = 1 + type = 'force' + triadId = 17 + vec1 = 0.000000000e+00 0.000000000e+00 0.000000000e+00, supEl1Id = 26 + vec2 = 0.000000000e+00 0.000000000e+00 0.000000000e+00, triad2Id = 30 + f0 = 1.000000000e+07 +/ + +&MASS + extId = 8 + triadId = 30 + mass0 = 1.000000000e+02 + II0 = 1.000000000e+00 0.000000000e+00 0.000000000e+00 + 0.000000000e+00 1.000000000e+00 0.000000000e+00 + 0.000000000e+00 0.000000000e+00 1.000000000e+00 +/ + diff --git a/TimeDomain/CorotatedLoad/README.md b/TimeDomain/CorotatedLoad/README.md new file mode 100644 index 0000000..da0dee8 --- /dev/null +++ b/TimeDomain/CorotatedLoad/README.md @@ -0,0 +1,15 @@ + + +# Test description + +This model consists of a cantilever beam with a tip point load +whose direction is defined by a mass-spring pendulum. + +The purpose of this test is to verify that a point load direction +can be defined by an unattached triad instead of a superelement. diff --git a/TimeDomain/CorotatedLoad/Setup.fco b/TimeDomain/CorotatedLoad/Setup.fco new file mode 100644 index 0000000..8c31cb4 --- /dev/null +++ b/TimeDomain/CorotatedLoad/Setup.fco @@ -0,0 +1,21 @@ +#FEDEM calculation options +-fsifile "Model.fsi" +# Time integration parameters +-timeEnd 2.0 +-timeInc 0.01 +-alphaNewmark 0.1 +# Newton-Raphson iteration parameters +-stressStiffDyn +-maxit 50 +-nupdat 5 +-maxSeqNoUpdate 5 +-tolUpdateFactor 100 +-tolDispNorm 1e-06 +-tolVelNorm 1e-06 +-tolEnerSum 1e-06 +# Curve auto-export parameters +-curveFile "CorotatedLoad.fmm" +-curvePlotType 5 +-curvePlotPrec 1 +# Switch off normal console output +-terminal -1 diff --git a/TimeDomain/CorotatedLoad/exported_curves.asc b/TimeDomain/CorotatedLoad/exported_curves.asc new file mode 100644 index 0000000..2795110 --- /dev/null +++ b/TimeDomain/CorotatedLoad/exported_curves.asc @@ -0,0 +1,208 @@ +#FEDEM R8.1.3 (build 1) 10 feb. 2026 07:25:55 +#PARENT /home/kmo/FEDEM/fedem-solvers/solverTests/TimeDomain/CorotatedLoad/CorotatedLoad.fmm +#FILE ../../exported_curves.asc +#USER (none) +#DATE Fri Feb 13 17:27:45 2026 +# +#DESCRIPTION Triad__8___Velocity__X_vs_Time Triad__8___Velocity__Y_vs_Time +0.00000000e+00 0.00000000e+00 0.00000000e+00 +1.00000000e-02 -1.22549683e-02 -6.46574348e-02 +2.00000000e-02 -5.93094192e-02 -1.99763522e-01 +3.00000000e-02 -1.40830681e-01 -3.65503073e-01 +4.00000000e-02 -2.33446449e-01 -5.39443851e-01 +5.00000000e-02 -3.25150013e-01 -7.12514937e-01 +6.00000000e-02 -4.17906165e-01 -8.85773122e-01 +7.00000000e-02 -5.09540200e-01 -1.05768049e+00 +8.00000000e-02 -5.94365716e-01 -1.22437310e+00 +9.00000000e-02 -6.70580029e-01 -1.38449609e+00 +1.00000000e-01 -7.38271058e-01 -1.53794348e+00 +1.10000000e-01 -7.96038270e-01 -1.68356276e+00 +1.20000000e-01 -8.42262328e-01 -1.81999922e+00 +1.30000000e-01 -8.76375198e-01 -1.94663310e+00 +1.40000000e-01 -8.98000598e-01 -2.06296945e+00 +1.50000000e-01 -9.06508088e-01 -2.16828680e+00 +1.60000000e-01 -9.01441336e-01 -2.26197219e+00 +1.70000000e-01 -8.82661343e-01 -2.34365249e+00 +1.80000000e-01 -8.50112677e-01 -2.41299939e+00 +1.90000000e-01 -8.03799093e-01 -2.46970940e+00 +2.00000000e-01 -7.43885219e-01 -2.51359916e+00 +2.10000000e-01 -6.70687795e-01 -2.54460549e+00 +2.20000000e-01 -5.84623992e-01 -2.56273937e+00 +2.30000000e-01 -4.86214042e-01 -2.56809282e+00 +2.40000000e-01 -3.76096219e-01 -2.56086206e+00 +2.50000000e-01 -2.55009413e-01 -2.54133558e+00 +2.60000000e-01 -1.23778261e-01 -2.50988531e+00 +2.70000000e-01 1.66930165e-02 -2.46696758e+00 +2.80000000e-01 1.65426970e-01 -2.41312408e+00 +2.90000000e-01 3.21387023e-01 -2.34897399e+00 +3.00000000e-01 4.83489424e-01 -2.27520895e+00 +3.10000000e-01 6.50613666e-01 -2.19258952e+00 +3.20000000e-01 8.21614504e-01 -2.10193920e+00 +3.30000000e-01 9.95334744e-01 -2.00413823e+00 +3.40000000e-01 1.17061746e+00 -1.90011609e+00 +3.50000000e-01 1.34631813e+00 -1.79084504e+00 +3.60000000e-01 1.52131641e+00 -1.67733264e+00 +3.70000000e-01 1.69452858e+00 -1.56061256e+00 +3.80000000e-01 1.86491799e+00 -1.44173694e+00 +3.90000000e-01 2.03150654e+00 -1.32176685e+00 +4.00000000e-01 2.19338417e+00 -1.20176327e+00 +4.10000000e-01 2.34971881e+00 -1.08277690e+00 +4.20000000e-01 2.49976373e+00 -9.65838552e-01 +4.30000000e-01 2.64286542e+00 -8.51949036e-01 +4.40000000e-01 2.77846932e+00 -7.42068350e-01 +4.50000000e-01 2.90612459e+00 -6.37105703e-01 +4.60000000e-01 3.02548718e+00 -5.37908733e-01 +4.70000000e-01 3.13632202e+00 -4.45253581e-01 +4.80000000e-01 3.23850226e+00 -3.59834582e-01 +4.90000000e-01 3.33200860e+00 -2.82254726e-01 +5.00000000e-01 3.41692519e+00 -2.13016495e-01 +5.10000000e-01 3.49343419e+00 -1.52513430e-01 +5.20000000e-01 3.56181026e+00 -1.01022579e-01 +5.30000000e-01 3.62240934e+00 -5.86979352e-02 +5.40000000e-01 3.67566037e+00 -2.55652610e-02 +5.50000000e-01 3.72205210e+00 -1.51830039e-03 +5.60000000e-01 3.76211977e+00 1.36832772e-02 +5.70000000e-01 3.79643059e+00 2.04140600e-02 +5.80000000e-01 3.82556748e+00 1.91810131e-02 +5.90000000e-01 3.85011411e+00 1.06193833e-02 +6.00000000e-01 3.87063837e+00 -4.51371493e-03 +6.10000000e-01 3.88767576e+00 -2.53480636e-02 +6.20000000e-01 3.90171480e+00 -5.09114526e-02 +6.30000000e-01 3.91318297e+00 -8.01430121e-02 +6.40000000e-01 3.92243481e+00 -1.11908644e-01 +6.50000000e-01 3.92974114e+00 -1.45018190e-01 +6.60000000e-01 3.93528247e+00 -1.78244129e-01 +6.70000000e-01 3.93914270e+00 -2.10341245e-01 +6.80000000e-01 3.94130826e+00 -2.40067035e-01 +6.90000000e-01 3.94166923e+00 -2.66202122e-01 +7.00000000e-01 3.94002247e+00 -2.87570417e-01 +7.10000000e-01 3.93607879e+00 -3.03058416e-01 +7.20000000e-01 3.92947245e+00 -3.11633229e-01 +7.30000000e-01 3.91977215e+00 -3.12359095e-01 +7.40000000e-01 3.90649533e+00 -3.04411858e-01 +7.50000000e-01 3.88912129e+00 -2.87091315e-01 +7.60000000e-01 3.86710811e+00 -2.59831309e-01 +7.70000000e-01 3.83990693e+00 -2.22207367e-01 +7.80000000e-01 3.80697989e+00 -1.73941761e-01 +7.90000000e-01 3.76781368e+00 -1.14906527e-01 +8.00000000e-01 3.72193527e+00 -4.51238789e-02 +8.10000000e-01 3.66892529e+00 3.52353975e-02 +8.20000000e-01 3.60843015e+00 1.25855595e-01 +8.30000000e-01 3.54017305e+00 2.26281598e-01 +8.40000000e-01 3.46396255e+00 3.35925996e-01 +8.50000000e-01 3.37970066e+00 4.54077721e-01 +8.60000000e-01 3.28738737e+00 5.79912066e-01 +8.70000000e-01 3.18712568e+00 7.12501407e-01 +8.80000000e-01 3.07912207e+00 8.50827575e-01 +8.90000000e-01 2.96368837e+00 9.93794143e-01 +9.00000000e-01 2.84123826e+00 1.14023995e+00 +9.10000000e-01 2.71228623e+00 1.28895271e+00 +9.20000000e-01 2.57744145e+00 1.43868303e+00 +9.30000000e-01 2.43740273e+00 1.58815825e+00 +9.40000000e-01 2.29295111e+00 1.73609698e+00 +9.50000000e-01 2.14494157e+00 1.88122272e+00 +9.60000000e-01 1.99429309e+00 2.02227736e+00 +9.70000000e-01 1.84197962e+00 2.15803480e+00 +9.80000000e-01 1.68901825e+00 2.28731322e+00 +9.90000000e-01 1.53645825e+00 2.40898705e+00 +1.00000000e+00 1.38536882e+00 2.52199841e+00 +1.01000000e+00 1.23682702e+00 2.62536764e+00 +1.02000000e+00 1.09190536e+00 2.71820235e+00 +1.03000000e+00 9.51659262e-01 2.79970527e+00 +1.04000000e+00 8.17115068e-01 2.86918235e+00 +1.05000000e+00 6.89257503e-01 2.92604828e+00 +1.06000000e+00 5.69018304e-01 2.96983147e+00 +1.07000000e+00 4.57264870e-01 3.00017643e+00 +1.08000000e+00 3.54789585e-01 3.01684690e+00 +1.09000000e+00 2.62299955e-01 3.01972651e+00 +1.10000000e+00 1.80409491e-01 3.00881696e+00 +1.11000000e+00 1.09629534e-01 2.98423743e+00 +1.12000000e+00 5.03621399e-02 2.94621992e+00 +1.13000000e+00 2.89398921e-03 2.89510560e+00 +1.14000000e+00 -3.26084234e-02 2.83133841e+00 +1.15000000e+00 -5.61023727e-02 2.75545788e+00 +1.16000000e+00 -6.76711425e-02 2.66809249e+00 +1.17000000e+00 -6.75248653e-02 2.56994915e+00 +1.18000000e+00 -5.59999235e-02 2.46180463e+00 +1.19000000e+00 -3.35568525e-02 2.34449530e+00 +1.20000000e+00 -7.76792644e-04 2.21890712e+00 +1.21000000e+00 4.16436046e-02 2.08596420e+00 +1.22000000e+00 9.28987041e-02 1.94661844e+00 +1.23000000e+00 1.52081877e-01 1.80183995e+00 +1.24000000e+00 2.18194813e-01 1.65260601e+00 +1.25000000e+00 2.90158153e-01 1.49989223e+00 +1.26000000e+00 3.66823226e-01 1.34466410e+00 +1.27000000e+00 4.46984738e-01 1.18786836e+00 +1.28000000e+00 5.29394448e-01 1.03042686e+00 +1.29000000e+00 6.12775207e-01 8.73230040e-01 +1.30000000e+00 6.95835710e-01 7.17131793e-01 +1.31000000e+00 7.77285337e-01 5.62945545e-01 +1.32000000e+00 8.55848849e-01 4.11440760e-01 +1.33000000e+00 9.30281222e-01 2.63339996e-01 +1.34000000e+00 9.99381661e-01 1.19317204e-01 +1.35000000e+00 1.06200731e+00 -2.00041346e-02 +1.36000000e+00 1.11708570e+00 -1.54052064e-01 +1.37000000e+00 1.16362727e+00 -2.82307208e-01 +1.38000000e+00 1.20073545e+00 -4.04303491e-01 +1.39000000e+00 1.22761631e+00 -5.19628823e-01 +1.40000000e+00 1.24358702e+00 -6.27925873e-01 +1.41000000e+00 1.24808288e+00 -7.28892565e-01 +1.42000000e+00 1.24066222e+00 -8.22282851e-01 +1.43000000e+00 1.22101068e+00 -9.07907307e-01 +1.44000000e+00 1.18894398e+00 -9.85633731e-01 +1.45000000e+00 1.14440835e+00 -1.05538762e+00 +1.46000000e+00 1.08748078e+00 -1.11715305e+00 +1.47000000e+00 1.01836646e+00 -1.17097223e+00 +1.48000000e+00 9.37396288e-01 -1.21694613e+00 +1.49000000e+00 8.45021427e-01 -1.25523412e+00 +1.50000000e+00 7.41807759e-01 -1.28605342e+00 +1.51000000e+00 6.28428936e-01 -1.30967844e+00 +1.52000000e+00 5.05657494e-01 -1.32643890e+00 +1.53000000e+00 3.74356151e-01 -1.33671916e+00 +1.54000000e+00 2.35466912e-01 -1.34095514e+00 +1.55000000e+00 9.00002345e-02 -1.33963215e+00 +1.56000000e+00 -6.09769486e-02 -1.33328187e+00 +1.57000000e+00 -2.16353804e-01 -1.32247865e+00 +1.58000000e+00 -3.74988586e-01 -1.30783546e+00 +1.59000000e+00 -5.35721898e-01 -1.28999937e+00 +1.60000000e+00 -6.97390437e-01 -1.26964700e+00 +1.61000000e+00 -8.58840525e-01 -1.24747849e+00 +1.62000000e+00 -1.01894164e+00 -1.22421205e+00 +1.63000000e+00 -1.17659974e+00 -1.20057786e+00 +1.64000000e+00 -1.33077037e+00 -1.17731118e+00 +1.65000000e+00 -1.48047101e+00 -1.15514565e+00 +1.66000000e+00 -1.62479270e+00 -1.13480592e+00 +1.67000000e+00 -1.76291072e+00 -1.11700010e+00 +1.68000000e+00 -1.89409518e+00 -1.10241222e+00 +1.69000000e+00 -2.01771879e+00 -1.09169388e+00 +1.70000000e+00 -2.13326526e+00 -1.08545613e+00 +1.71000000e+00 -2.24033380e+00 -1.08426130e+00 +1.72000000e+00 -2.33864498e+00 -1.08861434e+00 +1.73000000e+00 -2.42804289e+00 -1.09895468e+00 +1.74000000e+00 -2.50849438e+00 -1.11564791e+00 +1.75000000e+00 -2.58009052e+00 -1.13897705e+00 +1.76000000e+00 -2.64304042e+00 -1.16913581e+00 +1.77000000e+00 -2.69766808e+00 -1.20621991e+00 +1.78000000e+00 -2.74440360e+00 -1.25022161e+00 +1.79000000e+00 -2.78377414e+00 -1.30102289e+00 +1.80000000e+00 -2.81639194e+00 -1.35839128e+00 +1.81000000e+00 -2.84294176e+00 -1.42197585e+00 +1.82000000e+00 -2.86416483e+00 -1.49130559e+00 +1.83000000e+00 -2.88084269e+00 -1.56578910e+00 +1.84000000e+00 -2.89378071e+00 -1.64471638e+00 +1.85000000e+00 -2.90378904e+00 -1.72726285e+00 +1.86000000e+00 -2.91166520e+00 -1.81249571e+00 +1.87000000e+00 -2.91817617e+00 -1.89938283e+00 +1.88000000e+00 -2.92404127e+00 -1.98680329e+00 +1.89000000e+00 -2.92991734e+00 -2.07356095e+00 +1.90000000e+00 -2.93638468e+00 -2.15840054e+00 +1.91000000e+00 -2.94393516e+00 -2.24002290e+00 +1.92000000e+00 -2.95296383e+00 -2.31710577e+00 +1.93000000e+00 -2.96376228e+00 -2.38832164e+00 +1.94000000e+00 -2.97651505e+00 -2.45235848e+00 +1.95000000e+00 -2.99129891e+00 -2.50793982e+00 +1.96000000e+00 -3.00808525e+00 -2.55384374e+00 +1.97000000e+00 -3.02674317e+00 -2.58892298e+00 +1.98000000e+00 -3.04704762e+00 -2.61212111e+00 +1.99000000e+00 -3.06868672e+00 -2.62248993e+00 +2.00000000e+00 -3.09127259e+00 -2.61920238e+00