How to plot vector arrow plot for contact force?

Jimmy He
Member, Employee Posts: 27
✭✭✭✭
in Structures
I want to visualize total contact force result by showing them as a vector plot instead of filled contour, how can I do that?
Tagged:
0
Comments
-
A python result object can be used to create this rendering:
def post_started(sender, analysis):# Do not edit this line define_dpf_workflow(analysis) def table_retrieve_result(value):# Do not edit this line import mech_dpf import Ans.DataProcessing as dpf wf = dpf.Workflow(this.WorkflowId) wf.Connect('contour_selector', value) this.Evaluate() def define_dpf_workflow(analysis): import mech_dpf import Ans.DataProcessing as dpf mech_dpf.setExtAPI(ExtAPI) filepath = DataModel.AnalysisList[0].ResultFileName #Data sources dataSources = dpf.DataSources(filepath) time_freq_support = dpf.operators.metadata.time_freq_provider() time_freq_support.inputs.data_sources.Connect(dataSources) n_sets = time_freq_support.outputs.time_freq_support.GetData().NumberSets ts = range(1, n_sets + 1) # Get contact data CNF = [] for ids in [43,44,45]: nmisc = dpf.operators.result.nmisc() nmisc.inputs.data_sources.Connect(dataSources) nmisc.Connect(10,ids) nmisc.Connect(11,1) nmisc.inputs.time_scoping.Connect(ts) fc = nmisc.outputs.fields_container.GetData() op = dpf.operators.averaging.elemental_to_nodal_fc() # operator instantiation op.inputs.fields_container.Connect(fc) fcn = op.outputs.fields_container.GetData() CNF.append( fcn ) op = dpf.operators.utility.assemble_scalars_to_vectors_fc() # operator instantiation op.inputs.x.Connect(CNF[0])# optional op.inputs.y.Connect(CNF[1])# optional op.inputs.z.Connect(CNF[2])# optional F_vector = op.outputs.fields_container.GetData() u = dpf.operators.result.displacement() timeScop = dpf.Scoping() timeScop.Ids = ts u.inputs.time_scoping.Connect(timeScop) u.inputs.data_sources.Connect(dataSources) ufc=u.outputs.fields_container.GetData() F_vector.TimeFreqSupport = ufc.TimeFreqSupport output = dpf.operators.utility.forward() output.inputs.any.Connect(F_vector) dpf_workflow = dpf.Workflow() dpf_workflow.Add(u) dpf_workflow.Add(output) dpf_workflow.SetOutputWarpField(u) dpf_workflow.SetOutputContour(output) dpf_workflow.Record('wf_id', False) this.WorkflowId = dpf_workflow.GetRecordedId()
This python result can generate the following rendering:
1