this runs the solver:
Code: Select all
Gui.runCommand('FEM_SolverRun',0)
this opens the Solver CcxTools feature where one could click a button to save "inp" file
Code: Select all
App.getDocument('macro_test').getObject('SolverCcxTools').ViewObject.doubleClicked()
what I want to do is this: create a model that runs on FEM (gets a calculix result). Then run this macro to change its size a few times and each time it changes I wan to create an inp file
.py file:
Code: Select all
from PySide import QtCore
import numpy as np
from numpy import arange, sin, cos, pi
global p, i, Dia, Rdia, Doc
i=0
Dia=20
Rdia=21
Doc="macro_test"
App.getDocument(Doc).getObject('Sketch').setDatum('MemDia',App.Units.Quantity(str(Dia)+' mm'))
App.getDocument(Doc).getObject('Sketch').setDatum('RefDia',App.Units.Quantity(str(Rdia)+' mm'))
App.getDocument(Doc).recompute()
for x in range(6):
Dia = Dia-i# diameter value
Rdia = Rdia-i# diameter value
App.getDocument(Doc).getObject('Sketch').setDatum('MemDia',App.Units.Quantity(str(Dia)+' mm'))
App.getDocument(Doc).getObject('Sketch').setDatum('RefDia',App.Units.Quantity(str(Rdia)+' mm'))
App.getDocument(Doc).recompute()
print(i, Dia, Rdia)
i+=1
Dia=20
Rdia=21
App.getDocument(Doc).getObject('Sketch').setDatum('MemDia',App.Units.Quantity(str(Dia)+' mm'))
App.getDocument(Doc).getObject('Sketch').setDatum('RefDia',App.Units.Quantity(str(Rdia)+' mm'))
App.getDocument(Doc).recompute()
Code: Select all
# -*- coding: utf-8 -*-
"""
Created on Wed Jan 13 09:35:22 2021
@author: this guy right here
"""
#imports for running CCX and output file conversion
import os
import ccx2paraview
import logging
#imports for file modification:
from tempfile import mkstemp
from shutil import move, copymode
from os import fdopen, remove
########### set the processor number to 64
os.environ['CCX_NPROC_STIFFNESS'] = "64"
os.environ['NUMBER_OF_PROCESSORS'] = "64"
os.environ['OMP_NUM_THREADS'] = "64"
os.environ['NUMBERS_OF_PROCESSORS'] = "64"
os.environ['CCX_NPROC_STIFFNESS'] = "64"
os.environ['CCX_NPROC_EQUATION_SOLVER'] = "64"
os.environ['CCX_NPROC_RESULTS'] = "64"
os.environ['CCX_NPROC_VIEWFACTOR'] = "64"
os.environ['CCX_NPROC_CFD'] = "64"
os.environ['CCX_NPROC_BIOTSAVART'] = "64"
cwd = os.getcwd()
#Do this for a bunch of files:
Solver=r"C:\calculix_location\ccx_SPOOLES.exe"
Setupname=r'FEMMeshGmsh'
os.system(Solver+r" "+Setupname);
#input("Press enter to exit ;")
#convert output to VTK (vtu) format so paraview can use it
frd_file_name= Setupname+'.frd'
#os.chdir(path)
logging.basicConfig(level=logging.INFO, format='%(levelname)s: %(message)s')
c = ccx2paraview.Converter(frd_file_name, ['vtu'])
c.run()
input("Press enter to exit ;")
Code: Select all
<?xml version="1.0"?>
<VTKFile type="Collection" version="0.1" byte_order="LittleEndian">
<Collection>
<DataSet file="FEMMeshNetgen.001.vtu" timestep="0.015625"/>
<DataSet file="FEMMeshNetgen.002.vtu" timestep="0.03125"/>
<DataSet file="FEMMeshNetgen.003.vtu" timestep="0.0371094"/>
<DataSet file="FEMMeshNetgen.004.vtu" timestep="0.0429688"/>
<DataSet file="FEMMeshNetgen.005.vtu" timestep="0.045166"/>
<DataSet file="FEMMeshNetgen.006.vtu" timestep="0.0473633"/>
<DataSet file="FEMMeshNetgen.007.vtu" timestep="0.0506592"/>
<DataSet file="FEMMeshNetgen.008.vtu" timestep="0.0518951"/>
<DataSet file="FEMMeshNetgen.009.vtu" timestep="0.0531311"/>
<DataSet file="FEMMeshNetgen.010.vtu" timestep="0.054985"/>
<DataSet file="FEMMeshNetgen.011.vtu" timestep="0.057766"/>
<DataSet file="FEMMeshNetgen.012.vtu" timestep="0.0619373"/>
<DataSet file="FEMMeshNetgen.013.vtu" timestep="0.0635016"/>
<DataSet file="FEMMeshNetgen.014.vtu" timestep="0.0650659"/>
<DataSet file="FEMMeshNetgen.015.vtu" timestep="0.0674123"/>
<DataSet file="FEMMeshNetgen.016.vtu" timestep="0.0709319"/>
<DataSet file="FEMMeshNetgen.017.vtu" timestep="0.0762112"/>
<DataSet file="FEMMeshNetgen.018.vtu" timestep="0.078191"/>
<DataSet file="FEMMeshNetgen.019.vtu" timestep="0.0801708"/>
<DataSet file="FEMMeshNetgen.020.vtu" timestep="0.0831404"/>
<DataSet file="FEMMeshNetgen.021.vtu" timestep="0.0875949"/>
<DataSet file="FEMMeshNetgen.022.vtu" timestep="0.0892654"/>
<DataSet file="FEMMeshNetgen.023.vtu" timestep="0.0909358"/>
<DataSet file="FEMMeshNetgen.024.vtu" timestep="0.0934414"/>
<DataSet file="FEMMeshNetgen.025.vtu" timestep="0.0971999"/>
<DataSet file="FEMMeshNetgen.026.vtu" timestep="0.102838"/>
<DataSet file="FEMMeshNetgen.027.vtu" timestep="0.104952"/>
<DataSet file="FEMMeshNetgen.028.vtu" timestep="0.107066"/>
<DataSet file="FEMMeshNetgen.029.vtu" timestep="0.110237"/>
<DataSet file="FEMMeshNetgen.030.vtu" timestep="0.114994"/>
<DataSet file="FEMMeshNetgen.031.vtu" timestep="0.122129"/>
<DataSet file="FEMMeshNetgen.032.vtu" timestep="0.124805"/>
<DataSet file="FEMMeshNetgen.033.vtu" timestep="0.127481"/>
<DataSet file="FEMMeshNetgen.034.vtu" timestep="0.131494"/>
<DataSet file="FEMMeshNetgen.035.vtu" timestep="0.137515"/>
<DataSet file="FEMMeshNetgen.036.vtu" timestep="0.146545"/>
<DataSet file="FEMMeshNetgen.037.vtu" timestep="0.149931"/>
<DataSet file="FEMMeshNetgen.038.vtu" timestep="0.153318"/>
<DataSet file="FEMMeshNetgen.039.vtu" timestep="0.158398"/>
<DataSet file="FEMMeshNetgen.040.vtu" timestep="0.166017"/>
<DataSet file="FEMMeshNetgen.041.vtu" timestep="0.168874"/>
<DataSet file="FEMMeshNetgen.042.vtu" timestep="0.171732"/>
<DataSet file="FEMMeshNetgen.043.vtu" timestep="0.176018"/>
<DataSet file="FEMMeshNetgen.044.vtu" timestep="0.182447"/>
<DataSet file="FEMMeshNetgen.045.vtu" timestep="0.184857"/>
<DataSet file="FEMMeshNetgen.046.vtu" timestep="0.187268"/>
<DataSet file="FEMMeshNetgen.047.vtu" timestep="0.190885"/>
<DataSet file="FEMMeshNetgen.048.vtu" timestep="0.196309"/>
<DataSet file="FEMMeshNetgen.049.vtu" timestep="0.198343"/>
<DataSet file="FEMMeshNetgen.050.vtu" timestep="0.200377"/>
<DataSet file="FEMMeshNetgen.051.vtu" timestep="0.203429"/>
<DataSet file="FEMMeshNetgen.052.vtu" timestep="0.208006"/>
<DataSet file="FEMMeshNetgen.053.vtu" timestep="0.214871"/>
<DataSet file="FEMMeshNetgen.054.vtu" timestep="0.217445"/>
<DataSet file="FEMMeshNetgen.055.vtu" timestep="0.22002"/>
<DataSet file="FEMMeshNetgen.056.vtu" timestep="0.223881"/>
<DataSet file="FEMMeshNetgen.057.vtu" timestep="0.229674"/>
<DataSet file="FEMMeshNetgen.058.vtu" timestep="0.231846"/>
<DataSet file="FEMMeshNetgen.059.vtu" timestep="0.234019"/>
<DataSet file="FEMMeshNetgen.060.vtu" timestep="0.237277"/>
<DataSet file="FEMMeshNetgen.061.vtu" timestep="0.242164"/>
<DataSet file="FEMMeshNetgen.062.vtu" timestep="0.249496"/>
<DataSet file="FEMMeshNetgen.063.vtu" timestep="0.252245"/>
<DataSet file="FEMMeshNetgen.064.vtu" timestep="0.254994"/>
<DataSet file="FEMMeshNetgen.065.vtu" timestep="0.259118"/>
<DataSet file="FEMMeshNetgen.066.vtu" timestep="0.265304"/>
<DataSet file="FEMMeshNetgen.067.vtu" timestep="0.267623"/>
<DataSet file="FEMMeshNetgen.068.vtu" timestep="0.269943"/>
<DataSet file="FEMMeshNetgen.069.vtu" timestep="0.273422"/>
<DataSet file="FEMMeshNetgen.070.vtu" timestep="0.278642"/>
<DataSet file="FEMMeshNetgen.071.vtu" timestep="0.28647"/>
<DataSet file="FEMMeshNetgen.072.vtu" timestep="0.289406"/>
<DataSet file="FEMMeshNetgen.073.vtu" timestep="0.292342"/>
<DataSet file="FEMMeshNetgen.074.vtu" timestep="0.296746"/>
<DataSet file="FEMMeshNetgen.075.vtu" timestep="0.303351"/>
<DataSet file="FEMMeshNetgen.076.vtu" timestep="0.305828"/>
<DataSet file="FEMMeshNetgen.077.vtu" timestep="0.308306"/>
<DataSet file="FEMMeshNetgen.078.vtu" timestep="0.312021"/>
<DataSet file="FEMMeshNetgen.079.vtu" timestep="0.317595"/>
<DataSet file="FEMMeshNetgen.080.vtu" timestep="0.319685"/>
<DataSet file="FEMMeshNetgen.081.vtu" timestep="0.321775"/>
<DataSet file="FEMMeshNetgen.082.vtu" timestep="0.32491"/>
<DataSet file="FEMMeshNetgen.083.vtu" timestep="0.329612"/>
<DataSet file="FEMMeshNetgen.084.vtu" timestep="0.331376"/>
<DataSet file="FEMMeshNetgen.085.vtu" timestep="0.333139"/>
<DataSet file="FEMMeshNetgen.086.vtu" timestep="0.335785"/>
<DataSet file="FEMMeshNetgen.087.vtu" timestep="0.339752"/>
<DataSet file="FEMMeshNetgen.088.vtu" timestep="0.345704"/>
<DataSet file="FEMMeshNetgen.089.vtu" timestep="0.347936"/>
<DataSet file="FEMMeshNetgen.090.vtu" timestep="0.350168"/>
<DataSet file="FEMMeshNetgen.091.vtu" timestep="0.353516"/>
<DataSet file="FEMMeshNetgen.092.vtu" timestep="0.358538"/>
<DataSet file="FEMMeshNetgen.093.vtu" timestep="0.360421"/>
<DataSet file="FEMMeshNetgen.094.vtu" timestep="0.362304"/>
<DataSet file="FEMMeshNetgen.095.vtu" timestep="0.365129"/>
<DataSet file="FEMMeshNetgen.096.vtu" timestep="0.369366"/>
<DataSet file="FEMMeshNetgen.097.vtu" timestep="0.370955"/>
<DataSet file="FEMMeshNetgen.098.vtu" timestep="0.372544"/>
<DataSet file="FEMMeshNetgen.099.vtu" timestep="0.374927"/>
<DataSet file="FEMMeshNetgen.100.vtu" timestep="0.378502"/>
</Collection>
</VTKFile>