public class BigBeam3d extends FemBeam3d
The default size of the beam is 50 x 25 x 25 elements, but the number of elements in the x and y+z directions can be specified with the arguments -nx and -ny.
Profiling is enabled by default, so that the computation time for required for each step is printed.
To run the program in "batch" mode, one can do the following:
artisynth -model artisynth.demos.fem.BigBeam3d [ -nx 90 -ny 60 ]
-noGui -playFor 0.05
This will create a 90 x 60 x 60 beam, and run it for 0.05 seconds.
To disable hybrid solving, one can specify the argument -disableHybridSolves.
To override the default number of threads, one should set the environment variable OMP_NUM_THREADS. =========================================================================== Results on a core i7 with 16 Gbyte memory, with 11.4 Gbyte free: 50x25x25 = 31250 elements, 34K nodes mem: VIRT 10.8 G, RES 1.6 G, java 0.5 G, free 9.7 G cpu: direct, 1 thread: 7 sec cpu: direct, 4 thread: 3.5 sec cpu: hybrid, 4 thread: 1.1 sec 70*30*30 = 63000 elements, 67K nodes mem: VIRT 11.4 G, RES 3.4 G, Java 1 G, free: 7.8 G cpu: direct, 1 thread: 23 sec cpu: direct, 4 thread: 9.7 sec cpu: hybrid, 4 thread: 2.6 sec 80x40x40 = 128000 elements, 135K nodes mem: VIRT 14.9 G, RES 7.5 G, Java 2 G, free: 3.3 G cpu: direct, 1 thread: 90 sec cpu: direct, 4 thread: 41 sec cpu: hybrid, 4 thread: 6 sec 80x50x50 = 200000 elements, 208K nodes mem: VIRT 19.2 G, RES 12 G, Java 3 G, free: .3 G cpu: direct, 1 thread: 210 sec cpu: direct, 4 thread: 96 sec cpu: hybrid, 4 thread: 12 sec
ModelComponent.FilePathSaveType, ModelComponent.NavpanelVisibilityCompositeComponent.NavpanelDisplayADD_BLOCKS, ADD_DISPLACEMENT, ADD_MUSCLES, CONSTRAIN_RIGHT_NODES, debug, myProps, NO_FIXED_NODES, VERTICALDEFAULT_MODEL_TITLE, testSaveAndRestoreStateDEFAULT_MAX_STEP_SIZEDEFAULT_NAVPANEL_DISPLAYenforceUniqueCompositeNames, enforceUniqueNames, myNumber, NULL_OBJ, useCompactPathNamesTRANSPARENT, TWO_DIMENSIONALSTATE_IS_VOLATILE| Constructor and Description |
|---|
BigBeam3d() |
| Modifier and Type | Method and Description |
|---|---|
StepAdjustment |
advance(double t0,
double t1,
int flags)
Advances this model forward by a single time step.
|
void |
build(java.lang.String[] args)
Overridden by applications to populate the model with the necessary
simulation components (particles, rigid bodies, FE models, force
effectors, constrainers, etc., usually contained under one or more
MechModels) and instrumentation components (probes, controllers,
monitors, and control panels). |
addControlPanel, addDisplacementProbes, addDisplacementProbes, addMechModel, build, build, build, computeLeftAndRightNodes, getAbout, getAllPropertyInfo, getExcitation0, getExcitation1, printNodeStresses, setDisplacementsFromFile, setExcitation0, setExcitation1, setRenderProperties, writeDisplacementsToFile, writeElementJacobiansToFileaddBreakPoint, addComponentChangeListener, addController, addController, addControlPanel, addControlPanel, addInputProbe, addInputProbe, addModel, addMonitor, addMonitor, addOutputProbe, addOutputProbe, addRenderable, addRenderable, addTracingProbe, addWayPoint, addWayPoint, applyControllers, applyInputProbes, applyMonitors, applyOutputProbes, attach, checkWrite, clear, clearRenderables, clearTraces, clearTracing, componentChanged, createState, detach, disableAllTracing, disableTracing, dispose, enableTracing, findSourceDir, getAdaptiveStepping, getControllers, getControlPanels, getControlPanelTabs, getDefaultViewOrientation, getInitialState, getInputProbes, getMainFrame, getMainViewer, getMinStepSize, getModelTitle, getMonitors, getNextAdvanceTime, getNumTraceables, getOutputProbes, getRoot, getSourceRelativePath, getStartTime, getState, getState, getStopRequest, getTaskManager, getTestSaveRestoreState, getTraceSet, getTracingProbe, getTracingProbes, getViewerCenter, getViewerEye, getViewerUp, getWayPoint, getWayPointChecking, getWayPoints, getWorkingFolder, hasRoot, hasState, hasTracingProbes, initialize, invalidateInitialState, isBaseProperty, isCheckEnabled, isFocusable, isTracing, loadControlPanel, mergeAllControlPanels, mergeControlPanel, models, notifyParentOfChange, notifyStructureChanged, postscan, postscanInitialize, prerender, removeAllControllers, removeAllControlPanels, removeAllInputProbes, removeAllModels, removeAllMonitors, removeAllOutputProbes, removeAllWayPoints, removeComponentChangeListener, removeController, removeControlPanel, removeInputProbe, removeModel, removeMonitor, removeOutputProbe, removeRenderable, removeRenderable, removeWayPoint, render, renderables, rerender, resetInitialState, scan, scanProbes, setAdaptiveStepping, setCheckEnabled, setDefaultValues, setDefaultViewOrientation, setDefaultViewOrientation, setFocusable, setMainViewer, setMaxStepSize, setMinStepSize, setModelTitle, setStartTime, setState, setStopRequest, setTaskManager, setTestSaveRestoreState, setTracingProbesVisible, setViewerCenter, setViewerEye, setViewerUp, setWayPointChecking, setWorkingFolder, stopAdvance, updateBounds, writecreateRenderProps, getRenderHints, getRenderProps, getSelection, isSelectable, numSelectionQueriesNeeded, setRenderPropsactionPerformed, copy, getDefaultMaxStepSize, getMaxStepSize, getMenuItems, hasParameterizedType, hierarchyContainsReferences, preadvance, setDefaultMaxStepSizeadd, add, addAll, addComponents, addFixed, addFixed, addNumbered, clone, contains, contains, containsAll, copy, ensureCapacity, findComponent, get, get, getByNumber, getChildren, getMinNumber, getNavpanelDisplay, getNumberLimit, getOneBasedNumbering, getParameterType, getShortName, hasChildren, incrementNumbering, indexOf, invalidateNumbers, isEditable, isEmpty, iterator, nextComponentNumber, numComponents, remove, remove, removeAll, removeAll, removeComponents, reorderComponents, resetNumbersToIndices, retainAll, set, setEditable, setNavpanelDisplay, setNumbered, setOneBasedNumbering, setShortName, size, toArray, toArray, updateNameMapcheckFlag, checkName, checkNameUniqueness, clearFlag, connectToHierarchy, createTempFlag, disconnectFromHierarchy, getGrandParent, getHardReferences, getName, getNameRange, getNavpanelVisibility, getNavpanelVisibility, getNumber, getParent, getProperty, getSoftReferences, isFixed, isMarked, isScanning, isSelected, isWritable, makeValidName, makeValidName, printReferences, recursivelyContained, recursivelyContains, removeTempFlag, setFixed, setFlag, setMarked, setName, setNavpanelVisibility, setNavpanelVisibility, setNumber, setParent, setScanning, setSelected, setWritable, updateReferences, writeequals, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitconnectToHierarchy, disconnectFromHierarchy, getHardReferences, getName, getNavpanelVisibility, getNumber, getParent, getSoftReferences, isFixed, isMarked, isSelected, setFixed, setMarked, setName, setNumber, setParent, setSelected, setWritable, updateReferencesgetPropertygetChildren, hasChildrenisWritable, writegetNameequals, hashCode, parallelStream, removeIf, spliterator, streamrecursivelyFindpublic void build(java.lang.String[] args)
RootModelMechModels) and instrumentation components (probes, controllers,
monitors, and control panels). The build() method is called only
when ArtiSynth loads the application directly from the class. It is
not called when the application is loaded from a .art
file.public StepAdjustment advance(double t0, double t1, int flags)
RootModel