bcsoption#
- Mapdl.bcsoption(memory_option='', memory_size='', solve_info='', **kwargs)#
Sets memory option for the sparse solver.
APDL Command: BCSOPTION
- Parameters:
- memory_option
Memory allocation option:
- DEFAULT
Use the default memory allocation strategy for the sparse solver. The default strategy attempts to run in the
INCORE
memory mode. If there is not enough available physical memory when the solver starts to run in theINCORE
memory mode, the solver will then attempt to run in theOUTOFCORE
memory mode.- INCORE
Use a memory allocation strategy in the sparse solver that will attempt to obtain enough memory to run with the entire factorized matrix in memory. This option uses the most amount of memory and should avoid doing any I/O. By avoiding I/O, this option achieves optimal solver performance. However, a significant amount of memory is required to run in this mode, and it is only recommended on machines with a large amount of memory. If the allocation for in-core memory fails, the solver will automatically revert to out-of-core memory mode.
- OUTOFCORE
Use a memory allocation strategy in the sparse solver that will attempt to allocate only enough work space to factor each individual frontal matrix in memory, but will store the entire factorized matrix on disk. Typically, this memory mode results in poor performance due to the potential bottleneck caused by the I/O to the various files written by the solver.
- FORCE
This option, when used in conjunction with the
Memory_Size
option, allows you to force the sparse solver to run with a specific amount of memory. This option is only recommended for the advanced user who understands sparse solver memory requirements for the problem being solved, understands the physical memory on the system, and wants to control the sparse solver memory usage.
- memory_size
Initial memory size allocation for the sparse solver in MB. This argument allows you to tune the sparse solver memory and is not generally required. Although there is no upper limit for
Memory_Size
, theMemory_Size
setting should always be well within the physical memory available, but not so small as to cause the sparse solver to run out of memory. Warnings and/or errors from the sparse solver will appear if this value is set too low. If the FORCE memory option is used, this value is the amount of memory allocated for the entire duration of the sparse solver solution.- solve_info
Solver output option:
- OFF
Turns off additional output printing from the sparse solver (default).
- PERFORMANCE
Turns on additional output printing from the sparse solver, including a performance summary and a summary of file I/O for the sparse solver. Information on memory usage during assembly of the global matrix (that is, creation of the Jobname.FULL file) is also printed with this option.
Notes
This command controls options related to the sparse solver in all analysis types where the sparse solver can be used. It also controls the Block Lanczos eigensolver in a modal or buckling analysis.
The sparse solver runs from one large work space (that is, one large memory allocation). The amount of memory required for the sparse solver is unknown until the matrix structure is preprocessed, including equation reordering. The amount of memory allocated for the sparse solver is then dynamically adjusted to supply the solver what it needs to compute the solution.
If you have a very large memory system, you may want to try selecting the
INCORE
memory mode for larger jobs to improve performance. When running the sparse solver on a machine with very slow I/O performance (for example, slow hard drive speed), you may want to try using theINCORE
memory mode to achieve better performance. However, doing so may require much more memory compared to running in theOUTOFCORE
memory mode.Running with the
INCORE
memory mode is best for jobs which comfortably fit within the limits of the physical memory on a given system. If the sparse solver work space exceeds physical memory size, the system will be forced to use virtual memory (or the system page/swap file). In this case, it is typically more efficient to run with theOUTOFCORE
memory mode. Assuming the job fits comfortably within the limits of the machine, running with theINCORE
memory mode is often ideal for jobs where repeated solves are performed for a single matrix factorization. This occurs in a modal or buckling analysis or when doing multiple load steps in a linear, static analysis.For repeated runs with the sparse solver, you may set the initial sparse solver memory allocation to the amount required for factorization. This strategy reduces the frequency of allocation and reallocation in the run to make the
INCORE
option fully effective. If you have a very large memory system, you may use the Memory_Size argument to increase the maximum size attempted for in-core runs.