Search found 8 matches

by drndosh
Sat May 13, 2017 6:37 am
Forum: OpenSees.exe Users
Topic: PVD recorder and paraview
Replies: 1
Views: 2481

Re: PVD recorder and paraview

I've succesfully opened .pvd file in Paraview and visualized my model, and yes it can visualize line elements :D . The problem is that now I cannot see deformed shape, because "Warp by vector" option is grayed out in Paraview. I've recorded <disp> in a .pvd file as is said in http://web.engr.oregonstate.edu/~zhum/command.html. Does anybody know the solution?
Thanks
by drndosh
Fri May 12, 2017 5:00 am
Forum: OpenSees.exe Users
Topic: PVD recorder and paraview
Replies: 1
Views: 2481

PVD recorder and paraview

Greetings,
I am experimenting with pvd recorder and Paraview software. I did succesfully made a pvd file out of my model (model is made of just of nodes and line elements), but when i open it in Paraview, nothing happens. Is it possible to visualize model with just line element (e.g. forceBeamColumn element) or it is good just for 2d and 3d finite elements? If it is possible, can you tell me how, and maybe attach some screenshot.
Thank you
by drndosh
Fri Jul 08, 2016 2:30 am
Forum: Framework
Topic: Analysis performance
Replies: 2
Views: 3802

Re: Analysis performance

fmk wrote:
> the Makefile.def have just standard optimization features set .. the
> windows binaries that are released (not the ones people build for
> themselves) are optimized for intel processors and are also linked using
> intels mkl library.
>
> the discrepency in time could mean that they defeault is building a debug
> version of the code as opposed to the optimized version .. remove one of
> the .o files from a dir and in that file type make .. have a look at the -O
> options in the command line that spits to screen for that file .. what you
> don't eant to see is no -O's and a -pg

If I understood you well. I go to any directory after compilation (e. g. /home/nemanja/OpenSees/SRC/analysis/handler) and remove one of the .o files. Then, in that directory, I need to open terminal and type make.
I removed PlainHandler.o, typed make, and got this:

Making PlainHandler.o from PlainHandler.cpp
/usr/bin/g++ -Wall -D_LINUX -D_UNIX -D_TCL85 -D_NOGRAPHICS -O3 -ffloat-store -I/usr/includes/tcl-private/generic -I/home/nemanja/OpenSees/SRC/matrix -I/home/nemanja/OpenSees/SRC/nDarray -I/home/nemanja/OpenSees/SRC/tagged -I/home/nemanja/OpenSees/SRC/damage -I/home/nemanja/OpenSees/SRC/tcl -I/home/nemanja/OpenSees/SRC/material -I/home/nemanja/OpenSees/SRC/material/wall -I/home/nemanja/OpenSees/SRC/material/uniaxial -I/home/nemanja/OpenSees/SRC/material/uniaxial/fedeas -I/home/nemanja/OpenSees/SRC/material/uniaxial/drain -I/home/nemanja/OpenSees/SRC/material/uniaxial/snap -I/home/nemanja/OpenSees/SRC/material/uniaxial/PY -I/home/nemanja/OpenSees/SRC/material/uniaxial/limitState -I/home/nemanja/OpenSees/SRC/material/uniaxial/limitState/limitCurve -I/home/nemanja/OpenSees/SRC/material/uniaxial/backbone -I/home/nemanja/OpenSees/SRC/material/state -I/home/nemanja/OpenSees/SRC/material/state/stiffness -I/home/nemanja/OpenSees/SRC/material/state/unloading -I/home/nemanja/OpenSees/SRC/material/state/strength -I/home/nemanja/OpenSees/SRC/material/nD -I/home/nemanja/OpenSees/SRC/material/nD/soil -I/home/nemanja/OpenSees/SRC/material/nD/feap -I/home/nemanja/OpenSees/SRC/material/nD/Template3Dep -I/home/nemanja/OpenSees/SRC/material/nD/NewTemplate3Dep -I/home/nemanja/OpenSees/SRC/material/nD/FiniteDeformation -I/home/nemanja/OpenSees/SRC/material/nD/FiniteDeformation/fdFlow -I/home/nemanja/OpenSees/SRC/material/nD/FiniteDeformation/fdYield -I/home/nemanja/OpenSees/SRC/material/nD/FiniteDeformation/fdEvolution -I/home/nemanja/OpenSees/SRC/material/nD/cyclicSoil -I/home/nemanja/OpenSees/SRC/material/nD/UWmaterials -I/home/nemanja/OpenSees/SRC/material/nD/stressDensityModel -I/home/nemanja/OpenSees/SRC/material/section -I/home/nemanja/OpenSees/SRC/material/section/repres/cell -I/home/nemanja/OpenSees/SRC/material/section/repres/patch -I/home/nemanja/OpenSees/SRC/material/section/repres/reinfBar -I/home/nemanja/OpenSees/SRC/material/section/repres/reinfLayer -I/home/nemanja/OpenSees/SRC/material/section/repres/section -I/home/nemanja/OpenSees/SRC/material/section/fiber -I/home/nemanja/OpenSees/SRC/material/section/integration -I/home/nemanja/OpenSees/SRC/material/section/yieldSurface -I/home/nemanja/OpenSees/SRC/material/yieldSurface/evolution -I/home/nemanja/OpenSees/SRC/material/yieldSurface/plasticHardeningMaterial -I/home/nemanja/OpenSees/SRC/material/yieldSurface/yieldSurfaceBC -I/home/nemanja/OpenSees/SRC/material/ce234 -I/home/nemanja/OpenSees/SRC/recorder -I/home/nemanja/OpenSees/SRC/recorder/response -I/home/nemanja/OpenSees/SRC/handler -I/home/nemanja/OpenSees/SRC/database -I/home/nemanja/OpenSees/SRC/renderer -I/home/nemanja/OpenSees/SRC/convergenceTest -I/home/nemanja/OpenSees/SRC/utility -I/home/nemanja/OpenSees/SRC/actor -I/home/nemanja/OpenSees/SRC/actor/channel -I/home/nemanja/OpenSees/SRC/actor/message -I/home/nemanja/OpenSees/SRC/actor/machineBroker -I/home/nemanja/OpenSees/SRC/actor/objectBroker -I/home/nemanja/OpenSees/SRC/actor/actor -I/home/nemanja/OpenSees/SRC/actor/shadow -I/home/nemanja/OpenSees/SRC/actor/address -I/home/nemanja/OpenSees/SRC/tagged/storage -I/home/nemanja/OpenSees/SRC/domain -I/home/nemanja/OpenSees/SRC/domain/domain -I/home/nemanja/OpenSees/SRC/domain/domain/single -I/home/nemanja/OpenSees/SRC/domain/component -I/home/nemanja/OpenSees/SRC/domain/component/storage -I/home/nemanja/OpenSees/SRC/domain/domain/partitioned -I/home/nemanja/OpenSees/SRC/domain/partitioner -I/home/nemanja/OpenSees/SRC/domain/loadBalancer -I/home/nemanja/OpenSees/SRC/domain/subdomain -I/home/nemanja/OpenSees/SRC/domain/region -I/home/nemanja/OpenSees/SRC/domain/node -I/home/nemanja/OpenSees/SRC/domain/load -I/home/nemanja/OpenSees/SRC/domain/pattern -I/home/nemanja/OpenSees/SRC/domain/pattern/drm -I/home/nemanja/OpenSees/SRC/domain/groundMotion -I/home/nemanja/OpenSees/SRC/domain/constraints -I/home/nemanja/OpenSees/SRC/domain/region -I/home/nemanja/OpenSees/SRC/element -I/home/nemanja/OpenSees/SRC/element/beam2d -I/home/nemanja/OpenSees/SRC/element/beam3d -I/home/nemanja/OpenSees/SRC/element/truss -I/home/nemanja/OpenSees/SRC/element/fortran -I/home/nemanja/OpenSees/SRC/element/feap -I/home/nemanja/OpenSees/SRC/element/zeroLength -I/home/nemanja/OpenSees/SRC/element/fourNodeQuad -I/home/nemanja/OpenSees/SRC/element/triangle -I/home/nemanja/OpenSees/SRC/element/PFEMElement -I/home/nemanja/OpenSees/SRC/element/beamWithHinges -I/home/nemanja/OpenSees/SRC/element/dispBeamColumn -I/home/nemanja/OpenSees/SRC/element/dispBeamColumnInt -I/home/nemanja/OpenSees/SRC/element/forceBeamColumn -I/home/nemanja/OpenSees/SRC/element/generic -I/home/nemanja/OpenSees/SRC/element/elasticBeamColumn -I/home/nemanja/OpenSees/SRC/element/8nbrick -I/home/nemanja/OpenSees/SRC/element/20nbrick -I/home/nemanja/OpenSees/SRC/element/27nbrick -I/home/nemanja/OpenSees/SRC/element/upU -I/home/nemanja/OpenSees/SRC/element/UP_ucdavis -I/home/nemanja/OpenSees/SRC/element/UP-ucsd -I/home/nemanja/OpenSees/SRC/element/TotalLagrangianFD20NodeBrick -I/home/nemanja/OpenSees/SRC/element/brick -I/home/nemanja/OpenSees/SRC/element/shell -I/home/nemanja/OpenSees/SRC/element/joint -I/home/nemanja/OpenSees/SRC/element/elastomericBearing -I/home/nemanja/OpenSees/SRC/element/frictionBearing -I/home/nemanja/OpenSees/SRC/element/frictionBearing/frictionModel -I/home/nemanja/OpenSees/SRC/element/adapter -I/home/nemanja/OpenSees/SRC/element/twoNodeLink -I/home/nemanja/OpenSees/SRC/element/updatedLagrangianBeamColumn -I/home/nemanja/OpenSees/SRC/element/UWelements -I/home/nemanja/OpenSees/SRC/element/HUelements -I/home/nemanja/OpenSees/SRC/analysis -I/home/nemanja/OpenSees/SRC/analysis/analysis -I/home/nemanja/OpenSees/SRC/analysis/handler -I/home/nemanja/OpenSees/SRC/analysis/numberer -I/home/nemanja/OpenSees/SRC/analysis/algorithm -I/home/nemanja/OpenSees/SRC/analysis/algorithm/eigenAlgo -I/home/nemanja/OpenSees/SRC/analysis/algorithm/equiSolnAlgo -I/home/nemanja/OpenSees/SRC/analysis/algorithm/equiSolnAlgo/accelerator -I/home/nemanja/OpenSees/SRC/analysis/algorithm/domainDecompAlgo -I/home/nemanja/OpenSees/SRC/analysis/model -I/home/nemanja/OpenSees/SRC/analysis/model/simple -I/home/nemanja/OpenSees/SRC/analysis/method -I/home/nemanja/OpenSees/SRC/analysis/fe_ele -I/home/nemanja/OpenSees/SRC/analysis/fe_ele/penalty -I/home/nemanja/OpenSees/SRC/analysis/fe_ele/lagrange -I/home/nemanja/OpenSees/SRC/analysis/fe_ele/transformation -I/home/nemanja/OpenSees/SRC/analysis/dof_grp -I/home/nemanja/OpenSees/SRC/analysis/integrator -I/home/nemanja/OpenSees/SRC/modelbuilder -I/home/nemanja/OpenSees/SRC/modelbuilder/triangle -I/home/nemanja/OpenSees/SRC/modelbuilder/tcl -I/home/nemanja/OpenSees/SRC/system_of_eqn -I/home/nemanja/OpenSees/SRC/system_of_eqn/eigenSOE -I/home/nemanja/OpenSees/SRC/system_of_eqn/linearSOE -I/home/nemanja/OpenSees/SRC/system_of_eqn/linearSOE/slowMatrix -I/home/nemanja/OpenSees/SRC/system_of_eqn/linearSOE/bandSPD -I/home/nemanja/OpenSees/SRC/system_of_eqn/linearSOE/profileSPD -I/home/nemanja/OpenSees/SRC/system_of_eqn/linearSOE/fullGEN -I/home/nemanja/OpenSees/SRC/system_of_eqn/linearSOE/bandGEN -I/home/nemanja/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN -I/home/nemanja/OpenSees/SRC/system_of_eqn/linearSOE/sparseSYM -I/home/nemanja/OpenSees/SRC/system_of_eqn/linearSOE/petsc -I/home/nemanja/OpenSees/SRC/system_of_eqn/linearSOE/umfGEN -I/home/nemanja/OpenSees/SRC/system_of_eqn/linearSOE/diagonal -I/home/nemanja/OpenSees/SRC/system_of_eqn/linearSOE/cg -I/home/nemanja/OpenSees/SRC/system_of_eqn/linearSOE/BJsolvers -I/home/nemanja/OpenSees/SRC/system_of_eqn/linearSOE/itpack -I/home/nemanja/OpenSees/SRC/system_of_eqn/linearSOE/mumps -I/home/nemanja/OpenSees/SRC/system_of_eqn/eigenSOE -I/home/nemanja/OpenSees/SRC/graph/graph -I/home/nemanja/OpenSees/SRC/graph/numberer -I/home/nemanja/OpenSees/SRC/graph/partitioner -I/home/nemanja/OpenSees/SRC/element/nonlinearBeamColumn/element -I/home/nemanja/OpenSees/SRC/element/nonlinearBeamColumn/fiber -I/home/nemanja/OpenSees/SRC/element/nonlinearBeamColumn/matrixutil -I/home/nemanja/OpenSees/SRC/element/nonlinearBeamColumn/quadrule -I/home/nemanja/OpenSees/SRC/coordTransformation -I/home/nemanja/OpenSees/SRC/reliability/analysis -I/home/nemanja/OpenSees/SRC/reliability/analysis/analysis -I/home/nemanja/OpenSees/SRC/reliability/analysis/analysis/system -I/home/nemanja/OpenSees/SRC/reliability/analysis/convergenceCheck -I/home/nemanja/OpenSees/SRC/reliability/analysis/curvature -I/home/nemanja/OpenSees/SRC/reliability/analysis/designPoint -I/home/nemanja/OpenSees/SRC/reliability/analysis/direction -I/home/nemanja/OpenSees/SRC/reliability/analysis/gFunction -I/home/nemanja/OpenSees/SRC/reliability/analysis/gradient -I/home/nemanja/OpenSees/SRC/reliability/analysis/hessian -I/home/nemanja/OpenSees/SRC/reliability/analysis/meritFunction -I/home/nemanja/OpenSees/SRC/reliability/analysis/misc -I/home/nemanja/OpenSees/SRC/reliability/analysis/randomNumber -I/home/nemanja/OpenSees/SRC/reliability/analysis/rootFinding -I/home/nemanja/OpenSees/SRC/reliability/analysis/sensitivity -I/home/nemanja/OpenSees/SRC/reliability/analysis/stepSize -I/home/nemanja/OpenSees/SRC/reliability/analysis/transformation -I/home/nemanja/OpenSees/SRC/reliability/analysis/telm -I/home/nemanja/OpenSees/SRC/reliability/domain -I/home/nemanja/OpenSees/SRC/reliability/domain/components -I/home/nemanja/OpenSees/SRC/reliability/domain/distributions -I/home/nemanja/OpenSees/SRC/reliability/domain/filter -I/home/nemanja/OpenSees/SRC/reliability/domain/modulatingFunction -I/home/nemanja/OpenSees/SRC/reliability/domain/spectrum -I/home/nemanja/OpenSees/SRC/reliability/domain/storage -I/home/nemanja/OpenSees/SRC/reliability/domain/functionEvaluator -I/home/nemanja/OpenSees/SRC/reliability/domain/performanceFunction -I/home/nemanja/OpenSees/SRC/optimization/tcl -I/home/nemanja/OpenSees/SRC/optimization/domain -I/home/nemanja/OpenSees/SRC/optimization/domain/component -I/home/nemanja/OpenSees/SRC/optimization/SNOPT -I/home/nemanja/OpenSees/SRC/reliability/FEsensitivity -I/home/nemanja/OpenSees/SRC/reliability/tcl -I/home/nemanja/OpenSees/SRC/unittest -I/home/nemanja/OpenSees/SRC/api -I/home/nemanja/OpenSees/SRC -I/home/nemanja/OpenSees/OTHER/SuperLU_5.1.1/SRC -I/home/nemanja/OpenSees/SRC/package -I/home/nemanja/OpenSees/SRC/../OTHER/AMD -I/home/nemanja/OpenSees/SRC/../OTHER/CSPARSE -I/home/nemanja/OpenSees/SRC/../OTHER/Triangle -I/home/nemanja/OpenSees/SRC/../OTHER/Tetgen -I/usr/include -I/usr/local/include -I/usr/include/cxx -I/home/nemanja/include -I/home/nemanja/blitz -c PlainHandler.cpp -o PlainHandler.o
Unknown target PenaltyHandlerNoHomoSPMultipliers.o, try: make help


So, on one line before last we can see "-o", but no "-pg"-s.
If I did it right, what is a solution? How to compile optimized version?

Thank you,
Nemanja
by drndosh
Tue Jul 05, 2016 9:13 am
Forum: Framework
Topic: Analysis performance
Replies: 2
Views: 3802

Analysis performance

Greetings,
I want to run OpenSees on Linux machine and I compiled sequential version independently on CentOS on VirtualBox, Debian on VirtualBox and on CentOS on HPC, using appropriate Make.def.EC2 files. When comparing time needed for analysis to complete a job, performance is much worse than on Windows machine, and is equally bad on all three linux installations. For example, time history analysis for MR frame takes about 60 seconds on Windows, and about 1800s on all three Linux machines. If I turn off free vibration of MRF after earthquake, on Linux it take about 370 seconds (I do not need to turn it off on Windows).
My question is, do I miss something when I compile program, or maybe I have problems in scripts, although scripts are running very well on Windows machines?

Thank you,
Nemanja
by drndosh
Tue Jun 28, 2016 6:03 am
Forum: OpenSees.exe Users
Topic: General question about constraints and solution alghoritms
Replies: 1
Views: 1987

General question about constraints and solution alghoritms

Greetings,
Is there a general rule, in what situations to use different constraints handlers? And please do not tell me that solution is Trial and Error: use constraint handler that is good for your certain situation :D . I know only that I can not use Transformation method when retained node is not constrained in any other constraint.

Second question is a recommended number of iterations for each of the alghoritm solutions. I know that for Newton-Rhapson is 6-10, for Modified Newton goes to 1000 or 2000, but i don't know for the rest.

Thank you,
Nemanja
by drndosh
Fri May 13, 2016 6:36 am
Forum: OpenSees.exe Users
Topic: SteelMPF problem?
Replies: 2
Views: 3158

Re: SteelMPF problem?

You are welcome. For now I don't have any question.
Wish you luck.

Best Regards,
Nemanja
by drndosh
Wed May 04, 2016 11:12 am
Forum: OpenSees.exe Users
Topic: SteelMPF problem?
Replies: 2
Views: 3158

SteelMPF problem?

Greetings,
I’ve modeled simple pinned brace with imperfection and corotational transformation for buckling with two force based beam-column elements. At one end I’ve set controlled displacement with sp constraint. Used materials are, in one case SteelMPF, and in the other Steel02. Problem is that, when using Steel02 material analysis can be carried out and I can obtain buckling curve, but with SteelMPF material, analysis stops at iteration zero with error message. Material parameters are in both cases the same.
Also when performing cyclic loading with same approach, analysis can be carried out for both cases, but with SteelMPF material showing several error messages: ForceBeamColumn3d::update() -- could not invert flexibility, and then finishing analysis. Results are slightly different when comparing two materials, but I think that is expected due to the overshooting effect. For cyclic loading, analysis time with Steel02 takes about 40 s, but with SteelMPF it takes up to 3 minutes.
Is there some error or bug in SteelMPF?
Here is a code for model with monotonic loading. SteelMPF is active now. To activate Steel02, just comment SteelMPF and uncomment Steel02.

wipe
set startTime [clock clicks -milliseconds]

model BasicBuilder -ndm 3 -ndf 6

#Node Definition
node 1 0.0 0.0 0.0
node 2 2.7 0.0 0.0
node 3 1.35 0.0 [expr 2.7/100]


set mm [expr 1/1000.0]

#Supports
fix 1 1 1 1 1 0 0
fix 2 0 1 1 1 0 0

#Geometric transformation
geomTransf Corotational 1 0 0 1

set SecTagTorsion 1

# MATERIAL parameters -------------------------------------------------------------------
# define MATERIAL properties ----------------------------------------
set Fy 355e3
set E 210e6; # Steel Young's Modulus
set nu 0.3;
set G [expr $E/2./[expr 1+$nu]]; # Torsional stiffness Modulus

set matID 1

set Bs 0.01; # strain-hardening ratio
set R0 25; # control the transition from elastic to plastic branches -- make more like the rest.
set cR1 0.925; # control the transition from elastic to plastic branches
set cR2 0.15; # control the transition from elastic to plastic branches

set a1 0.012
set a2 1
set a3 0.012
set a4 1

uniaxialMaterial Elastic 1 $E

#uniaxialMaterial SteelMPF $mattag $fyp $fyn $E0 $bp $bn $R0 $cR1 $cR2 <$a1 $a2 $a3 $a4>
uniaxialMaterial SteelMPF 2 $Fy $Fy $E $Bs $Bs $R0 $cR1 $cR2 $a1 $a2 $a3 $a4

#uniaxialMaterial Steel02 2 $Fy $E $Bs $R0 $cR1 $cR2 $a1 $a2 $a3 $a4


#CHSbrace {eleTag iNode jNode D t matTag transfTag args}
proc CHSbrace {eleTag iNode jNode D t matTag transfTag args} {

set nCirc 20
if {[lsearch $args "-nCirc"] != -1} {
set loc [lsearch $args "-nCirc"]
set nCirc [lindex $args [expr $loc+1]]
}

set nRad 3
if {[lsearch $args "-nRad"] != -1} {
set loc [lsearch $args "-nRad"]
set nRad [lindex $args [expr $loc+1]]
}

set nip 4
if {[lsearch $args "-nip"] != -1} {
set loc [lsearch $args "-nip"]
set nip [lindex $args [expr $loc+1]]
}

CHSectionD $eleTag $D $t $matTag $nCirc $nRad

element forceBeamColumn $eleTag $iNode $jNode $transfTag NewtonCotes $eleTag $nip
#element forceBeamColumn $eleTag $iNode $jNode $nip $eleTag $transfTag
}


proc CHSectionD {secID D t matID nCirc nRad} {

global SecTagTorsion
set SecTag3D [expr $secID * 10];

set yCenter 0.0
set zCenter 0.0

set intRad [expr $D/2-$t]
set extRad [expr $D/2]

set fullCirc 360;


set SecTag3D [expr $secID * 100]; # ID tag for combined behavior for 3D model

section fiberSec $SecTag3D {
#patch circ $matTag $numSubdivCirc $numSubdivRad $yCenter $zCenter $intRad $extRad $startAng $endAng
patch circ $matID $nCirc $nRad $yCenter $zCenter $intRad $extRad 0.0 $fullCirc
}

# assign torsional Stiffness for 3D Model
section Aggregator $secID $SecTagTorsion T -section $SecTag3D; # combine section properties

}


#CHSbrace {eleTag iNode jNode D t matTag transfTag args}
CHSbrace 1 1 3 [expr 139.7*$mm] [expr 6.3*$mm] 2 1 -nip 7 -nCirc 20 -nRad 5
CHSbrace 2 2 3 [expr 139.7*$mm] [expr 6.3*$mm] 2 1 -nip 7 -nCirc 20 -nRad 5

#Recorders
recorder Node -xml nodeReac.xml -node 1 2 -time -dof 1 2 6 reaction
recorder Node -file nodeReac.out -node 1 2 -time -dof 1 2 6 reaction
recorder Node -file nodeDisp.out -node 2 -time -dof 1 disp


# Note, any pattern type can be used here: Linear, Path, Sine, etc.
pattern Plain 1 Linear {
# Set reference displacement value
# node dof value
sp 2 1 -1.0
}


set dl 0.00001

integrator LoadControl $dl 1 $dl $dl
constraints Transformation
test NormDispIncr 1.0e-6 500
algorithm Newton
numberer RCM
system BandSPD
analysis Static
#analyze 549
analyze 10000
puts "Done!"

set finishTime [clock clicks -milliseconds];
set timeSeconds [expr ($finishTime-$startTime)/1000];
set timeMinutes [expr ($timeSeconds/60)];
set timeHours [expr ($timeSeconds/3600)];
set timeMinutes [expr ($timeMinutes - $timeHours*60)];
set timeSeconds [expr ($timeSeconds - $timeMinutes*60 - $timeHours*3600)];
puts "\n----------------------------------";
#puts "\a";
puts "TOTAL TIME TAKEN $timeHours:$timeMinutes:$timeSeconds";
by drndosh
Thu Apr 07, 2016 2:23 am
Forum: Feature Requests/Future Directions
Topic: Rigid offset for corotational transformation in 3D
Replies: 0
Views: 7593

Rigid offset for corotational transformation in 3D

Greetings,
I think it will be useful ti include rigid offset option for corotational transformation in 3D.
Nemanja