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.NavpanelVisibility
CompositeComponent.NavpanelDisplay
ADD_BLOCKS, ADD_DISPLACEMENT, ADD_MUSCLES, CONSTRAIN_RIGHT_NODES, debug, myProps, NO_FIXED_NODES, VERTICAL
DEFAULT_MODEL_TITLE, testSaveAndRestoreState
DEFAULT_MAX_STEP_SIZE
DEFAULT_NAVPANEL_DISPLAY
enforceUniqueCompositeNames, enforceUniqueNames, myNumber, NULL_OBJ, useCompactPathNames
TRANSPARENT, TWO_DIMENSIONAL
STATE_IS_VOLATILE
Constructor and Description |
---|
BigBeam3d() |
Modifier and Type | Method and Description |
---|---|
StepAdjustment |
advance(double t0,
double t1,
int flags)
Advances this model from time t0 to time t1.
|
void |
build(java.lang.String[] args) |
addControlPanel, addDisplacementProbes, addDisplacementProbes, addMechModel, build, build, build, computeLeftAndRightNodes, getAbout, getAllPropertyInfo, getExcitation0, getExcitation1, printNodeStresses, setDisplacementsFromFile, setExcitation0, setExcitation1, setRenderProperties, writeDisplacementsToFile, writeElementJacobiansToFile
addBreakPoint, 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, write
createRenderProps, getRenderHints, getRenderProps, getSelection, isSelectable, numSelectionQueriesNeeded, setRenderProps
actionPerformed, copy, getDefaultMaxStepSize, getMaxStepSize, getMenuItems, hasParameterizedType, hierarchyContainsReferences, preadvance, setDefaultMaxStepSize
add, add, addAll, addComponents, addFixed, addNumbered, clone, contains, contains, containsAll, copy, ensureCapacity, findComponent, get, get, getByNumber, getChildren, getNavpanelDisplay, getNumberLimit, getOneBasedNumbering, getParameterType, getShortName, hasChildren, indexOf, invalidateNumbers, isEditable, isEmpty, iterator, nextComponentNumber, numComponents, remove, remove, removeAll, removeAll, removeComponents, resetNumbersToIndices, retainAll, set, setEditable, setNavpanelDisplay, setNumbered, setOneBasedNumbering, setShortName, size, toArray, toArray, updateNameMap
checkFlag, 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, write
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
connectToHierarchy, disconnectFromHierarchy, getHardReferences, getName, getNavpanelVisibility, getNumber, getParent, getSoftReferences, isFixed, isMarked, isSelected, setFixed, setMarked, setName, setNumber, setParent, setSelected, setWritable, updateReferences
getProperty
getChildren, hasChildren
isWritable, write
getName
public StepAdjustment advance(double t0, double t1, int flags)
ModelBase
If the method determines that the step size should be
reduced, it can return a StepAdjustment
object indicating
the recommended reduction. Otherwise, the method may return
null
The flags argument gives additional information that may
be relevant when advancing the model. Currently implemented
flags include Model.STATE_IS_VOLATILE
.