FEATool Multiphysics
v1.17.2
Finite Element Analysis Toolbox
|
FENICS MATLAB FEniCS project FEA solver CLI interface.
[ PROB ] = FENICS( PROB, VARARGIN ) Export, solves, and/or imports the problem described by the finite element struct PROB using the FEniCS solver. The fea problem struct is returned with updated SOL.U and SOL.T fields if applicable. Accepts the following property/value pairs.
Input Value/{Default} Description ----------------------------------------------------------------------------------- modes {c, e, s, i, l} Command mode(s) to call (default all) (c)heck, (e)xport, (s)olve, (i)mport, c(l)ear data {fenics_data} FEniCS input data file to use, by default uses fenics_data(prob, varargin{:}) fname featool-fenics FEniCS base filename root fdir string {pwd} Directory to write data and mesh files ask boolean {false} Ask for file name for export order scalar {2} Integration order used in c-expressions linsolv string {default} Linear solver precond string {default} Preconditioner for iterative solver ischeme scalar {0} Solver type/time stepping scheme 0 - Steady state/stationary 1 - 1st order Backward Euler 2 - 2nd order Crank-Nicolson tstep scalar {0.1} Time step size (for ischeme >= 1) tmax scalar {1.0} Maximum simulation time (for ischeme >= 1) islin scalar {auto} Specify linear or non-linear solver maxnit scalar {20} Maximum number of non-linear iterations nlrlx scalar {1.0} Relaxation for non-linear iterations toldef scalar {1e-6} Relative stopping criteria tolchg scalar {1e-6} Absolute stopping criteria nproc scalar {numcores/2} Number of processors to use saveall logical {true} Save all time steps/solutions otherwise just saves last one python string {python-fenics|python3|python} Python interpreter call command scmd system default Custom system solve command string ccmd string { FEniCS installation check/validation command bash -c "dolfin-version 2>/dev/null || python -c 'import dolfin;print(dolfin.__version__)'"} wbash C:\Windows\System32\bash.exe Windows bash executable path pause boolean {false} Pause external log terminal fid scalar {1} File identifier for output ([]=no output)
1) Uniform heating of a unit circle. fea.sdim = {'x', 'y'}; fea.grid = quad2tri(circgrid()); fea = addphys(fea, @heattransfer); fea.phys.ht.eqn.coef{6,end} = {1}; % Heat source term. fea.phys.ht.bdr.sel(:) = 1; % Zero temperature boundary conditions. fea = parsephys(fea); % Parse physics mode and fea problem struct. fea = parseprob(fea); fea = fenics(fea); postplot(fea, 'surfexpr', 'T')