├── .gitignore ├── Assignments └── femwpy_setup.py ├── Lessons ├── Images │ ├── advec-diffus.d │ │ ├── concentration.png │ │ ├── intro.png │ │ └── strong.png │ ├── beam.d │ │ ├── beam-detail.png │ │ ├── beam-disc.png │ │ └── beam-example.png │ ├── direct.d │ │ ├── algo.png │ │ ├── algo_ex.jpeg │ │ ├── body-force.png │ │ ├── dof_map.png │ │ ├── ex1.jpg │ │ ├── ex2.png │ │ ├── intro.png │ │ ├── multi_bar.png │ │ ├── multi_spring.png │ │ ├── multi_spring_1.png │ │ ├── pliers.jpg │ │ ├── prescribed_displ.jpg │ │ ├── spring_contact.jpg │ │ ├── springelem12.png │ │ ├── springelem212.png │ │ ├── tapered_bar.png │ │ └── tapered_bar_disc.png │ ├── error.d │ │ ├── epl.png │ │ ├── error copy.pdf │ │ ├── error.png │ │ ├── intro.png │ │ ├── richardson-1.png │ │ └── vibex.png │ ├── generalized-bc.d │ │ ├── intro.png │ │ ├── robin.png │ │ └── spring-bc.png │ ├── higher-order.d │ │ ├── quad_elem_coords.png │ │ └── quad_shape_funcs.png │ ├── intro.d │ │ ├── par_springs.png │ │ ├── python.png │ │ └── term_py_1.png │ ├── nb.d │ │ ├── command_mode.png │ │ ├── edit_mode.png │ │ ├── menu_tool_bar.png │ │ └── server.png │ ├── quadrature.d │ │ ├── nat_coords.png │ │ └── trapz.png │ ├── strong.d │ │ ├── beam.png │ │ ├── fluxpotrel.png │ │ ├── heat-1.png │ │ ├── int.png │ │ ├── intBU.png │ │ ├── sumofforce.png │ │ ├── sumofforce_1.png │ │ ├── taperedbar_1.png │ │ └── volt-1.png │ ├── thermal-convection.d │ │ ├── buoyancy-flow.png │ │ ├── ex-2.png │ │ ├── heat-trans-coef.png │ │ ├── therm-conv-1.png │ │ └── therm-conv-2.png │ ├── top.png │ ├── truss.d │ │ ├── assembly-1.png │ │ ├── assembly-2.png │ │ ├── ch3ex1.png │ │ ├── coord_trans_0.png │ │ ├── coord_trans_1.png │ │ ├── coord_trans_2.png │ │ ├── elem_vec_length.png │ │ ├── ex4-1.png │ │ ├── ex4.png │ │ ├── force_lgcoords.png │ │ ├── normal.png │ │ ├── plane_truss_ex.jpg │ │ ├── truss_axial.png │ │ ├── truss_ex_0.png │ │ ├── truss_ex_1.png │ │ ├── truss_ex_2.png │ │ ├── truss_ex_3.png │ │ ├── truss_ex_4.png │ │ ├── truss_ex_5.jpg │ │ ├── truss_opening.jpg │ │ ├── truss_or_frame.png │ │ ├── u_lgcoords.png │ │ └── unit_vec.png │ ├── variational.d │ │ └── intro.png │ ├── weak.d │ │ ├── continuity.png │ │ ├── intro-pic.png │ │ ├── problem_disc.png │ │ └── table-of-apps.png │ ├── weighted-res.d │ │ ├── tapered_bar.png │ │ ├── vproj.png │ │ └── wire-ex.png │ └── wundy.d │ │ ├── axisymm_1.png │ │ ├── elem_e.png │ │ ├── fluid_ex_1.png │ │ ├── heat_ex_1.png │ │ ├── heat_ex_2.png │ │ ├── solid_ex_1.png │ │ ├── solid_ex_2.png │ │ ├── three_el_ex.png │ │ ├── wire_ex_1.png │ │ ├── wire_ex_2.png │ │ └── wire_ex_3.png ├── Lesson01_IPythonNotebookTutorial.ipynb ├── Lesson02_IntroductionToPython.ipynb ├── Lesson03_DirectMethods.ipynb ├── Lesson04_PlaneTruss.ipynb ├── Lesson05_StrongForm.ipynb ├── Lesson06_VariationalForms.ipynb ├── Lesson07_TheWeakForm.ipynb ├── Lesson08_DerivationOf1DEquations.ipynb ├── Lesson09_ExamplesIn1D.ipynb ├── Lesson10_NumericalIntegration.ipynb ├── Lesson11_HigherOrderShapeFuncs.ipynb ├── Lesson12_ThermalConvection.ipynb ├── Lesson13_AdvectionDiffusion.ipynb ├── Lesson14_NonlinearMaterials.ipynb ├── Lesson15_ErrorAnalysis.ipynb ├── Lesson16_MethodOfManufacturedSolutions.ipynb ├── Lesson17_EulerBernouliBeamElement.ipynb ├── Lesson20_GeneralizedBoundaryConditions.ipynb ├── MathematicalPreliminaries.ipynb ├── styles │ ├── 538.json │ ├── custom2.css │ └── custom3.css └── theme.py ├── README.md ├── __init__.py ├── apps ├── __init__.py └── uniformbar.py ├── bin ├── ini.csh ├── ini.sh └── viewer.py ├── femlib ├── __init__.py ├── bc.py ├── constants.py ├── data.py ├── element.py ├── fileio │ ├── __init__.py │ ├── _netcdf.py │ ├── dbx.py │ └── exodus.py ├── funspace.py ├── ifem.py ├── mesh.py ├── numerix.py ├── shapefun.py ├── solvers.py ├── test.py └── unit_tests.py └── viewer ├── __init__.py ├── _ipane.py ├── _plot.py ├── _viewer.py └── icon ├── analytic-expr.png ├── camera.png ├── color-points.png ├── field.png ├── file.png ├── frame-first.png ├── frame-last.png ├── frame-next.png ├── frame-previous.png ├── plot-contour-deformed.png ├── plot-contour-undeformed.png ├── plot-deformed.png ├── plot-scale.png ├── plot-undeformed.png ├── plot.png ├── print.png ├── view-fit.png └── zoom-rect.png /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/.gitignore -------------------------------------------------------------------------------- /Assignments/femwpy_setup.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Assignments/femwpy_setup.py -------------------------------------------------------------------------------- /Lessons/Images/advec-diffus.d/concentration.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Images/advec-diffus.d/concentration.png -------------------------------------------------------------------------------- /Lessons/Images/advec-diffus.d/intro.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Images/advec-diffus.d/intro.png -------------------------------------------------------------------------------- /Lessons/Images/advec-diffus.d/strong.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Images/advec-diffus.d/strong.png -------------------------------------------------------------------------------- /Lessons/Images/beam.d/beam-detail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Images/beam.d/beam-detail.png -------------------------------------------------------------------------------- /Lessons/Images/beam.d/beam-disc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Images/beam.d/beam-disc.png -------------------------------------------------------------------------------- /Lessons/Images/beam.d/beam-example.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Images/beam.d/beam-example.png -------------------------------------------------------------------------------- /Lessons/Images/direct.d/algo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Images/direct.d/algo.png -------------------------------------------------------------------------------- /Lessons/Images/direct.d/algo_ex.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Images/direct.d/algo_ex.jpeg -------------------------------------------------------------------------------- /Lessons/Images/direct.d/body-force.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Images/direct.d/body-force.png -------------------------------------------------------------------------------- /Lessons/Images/direct.d/dof_map.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Images/direct.d/dof_map.png -------------------------------------------------------------------------------- /Lessons/Images/direct.d/ex1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Images/direct.d/ex1.jpg -------------------------------------------------------------------------------- /Lessons/Images/direct.d/ex2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Images/direct.d/ex2.png -------------------------------------------------------------------------------- /Lessons/Images/direct.d/intro.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Images/direct.d/intro.png -------------------------------------------------------------------------------- /Lessons/Images/direct.d/multi_bar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Images/direct.d/multi_bar.png -------------------------------------------------------------------------------- /Lessons/Images/direct.d/multi_spring.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Images/direct.d/multi_spring.png -------------------------------------------------------------------------------- /Lessons/Images/direct.d/multi_spring_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Images/direct.d/multi_spring_1.png -------------------------------------------------------------------------------- /Lessons/Images/direct.d/pliers.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Images/direct.d/pliers.jpg -------------------------------------------------------------------------------- /Lessons/Images/direct.d/prescribed_displ.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Images/direct.d/prescribed_displ.jpg -------------------------------------------------------------------------------- /Lessons/Images/direct.d/spring_contact.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Images/direct.d/spring_contact.jpg -------------------------------------------------------------------------------- /Lessons/Images/direct.d/springelem12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Images/direct.d/springelem12.png -------------------------------------------------------------------------------- /Lessons/Images/direct.d/springelem212.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Images/direct.d/springelem212.png -------------------------------------------------------------------------------- /Lessons/Images/direct.d/tapered_bar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Images/direct.d/tapered_bar.png -------------------------------------------------------------------------------- /Lessons/Images/direct.d/tapered_bar_disc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Images/direct.d/tapered_bar_disc.png -------------------------------------------------------------------------------- /Lessons/Images/error.d/epl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Images/error.d/epl.png -------------------------------------------------------------------------------- /Lessons/Images/error.d/error copy.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Images/error.d/error copy.pdf -------------------------------------------------------------------------------- /Lessons/Images/error.d/error.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Images/error.d/error.png -------------------------------------------------------------------------------- /Lessons/Images/error.d/intro.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Images/error.d/intro.png -------------------------------------------------------------------------------- /Lessons/Images/error.d/richardson-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Images/error.d/richardson-1.png -------------------------------------------------------------------------------- /Lessons/Images/error.d/vibex.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Images/error.d/vibex.png -------------------------------------------------------------------------------- /Lessons/Images/generalized-bc.d/intro.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Images/generalized-bc.d/intro.png -------------------------------------------------------------------------------- /Lessons/Images/generalized-bc.d/robin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Images/generalized-bc.d/robin.png -------------------------------------------------------------------------------- /Lessons/Images/generalized-bc.d/spring-bc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Images/generalized-bc.d/spring-bc.png -------------------------------------------------------------------------------- /Lessons/Images/higher-order.d/quad_elem_coords.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Images/higher-order.d/quad_elem_coords.png -------------------------------------------------------------------------------- /Lessons/Images/higher-order.d/quad_shape_funcs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Images/higher-order.d/quad_shape_funcs.png -------------------------------------------------------------------------------- /Lessons/Images/intro.d/par_springs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Images/intro.d/par_springs.png -------------------------------------------------------------------------------- /Lessons/Images/intro.d/python.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Images/intro.d/python.png -------------------------------------------------------------------------------- /Lessons/Images/intro.d/term_py_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Images/intro.d/term_py_1.png -------------------------------------------------------------------------------- /Lessons/Images/nb.d/command_mode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Images/nb.d/command_mode.png -------------------------------------------------------------------------------- /Lessons/Images/nb.d/edit_mode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Images/nb.d/edit_mode.png -------------------------------------------------------------------------------- /Lessons/Images/nb.d/menu_tool_bar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Images/nb.d/menu_tool_bar.png -------------------------------------------------------------------------------- /Lessons/Images/nb.d/server.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Images/nb.d/server.png -------------------------------------------------------------------------------- /Lessons/Images/quadrature.d/nat_coords.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Images/quadrature.d/nat_coords.png -------------------------------------------------------------------------------- /Lessons/Images/quadrature.d/trapz.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Images/quadrature.d/trapz.png -------------------------------------------------------------------------------- /Lessons/Images/strong.d/beam.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Images/strong.d/beam.png -------------------------------------------------------------------------------- /Lessons/Images/strong.d/fluxpotrel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Images/strong.d/fluxpotrel.png -------------------------------------------------------------------------------- /Lessons/Images/strong.d/heat-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Images/strong.d/heat-1.png -------------------------------------------------------------------------------- /Lessons/Images/strong.d/int.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Images/strong.d/int.png -------------------------------------------------------------------------------- /Lessons/Images/strong.d/intBU.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Images/strong.d/intBU.png -------------------------------------------------------------------------------- /Lessons/Images/strong.d/sumofforce.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Images/strong.d/sumofforce.png -------------------------------------------------------------------------------- /Lessons/Images/strong.d/sumofforce_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Images/strong.d/sumofforce_1.png -------------------------------------------------------------------------------- /Lessons/Images/strong.d/taperedbar_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Images/strong.d/taperedbar_1.png -------------------------------------------------------------------------------- /Lessons/Images/strong.d/volt-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Images/strong.d/volt-1.png -------------------------------------------------------------------------------- /Lessons/Images/thermal-convection.d/buoyancy-flow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Images/thermal-convection.d/buoyancy-flow.png -------------------------------------------------------------------------------- /Lessons/Images/thermal-convection.d/ex-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Images/thermal-convection.d/ex-2.png -------------------------------------------------------------------------------- /Lessons/Images/thermal-convection.d/heat-trans-coef.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Images/thermal-convection.d/heat-trans-coef.png -------------------------------------------------------------------------------- /Lessons/Images/thermal-convection.d/therm-conv-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Images/thermal-convection.d/therm-conv-1.png -------------------------------------------------------------------------------- /Lessons/Images/thermal-convection.d/therm-conv-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Images/thermal-convection.d/therm-conv-2.png -------------------------------------------------------------------------------- /Lessons/Images/top.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Images/top.png -------------------------------------------------------------------------------- /Lessons/Images/truss.d/assembly-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Images/truss.d/assembly-1.png -------------------------------------------------------------------------------- /Lessons/Images/truss.d/assembly-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Images/truss.d/assembly-2.png -------------------------------------------------------------------------------- /Lessons/Images/truss.d/ch3ex1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Images/truss.d/ch3ex1.png -------------------------------------------------------------------------------- /Lessons/Images/truss.d/coord_trans_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Images/truss.d/coord_trans_0.png -------------------------------------------------------------------------------- /Lessons/Images/truss.d/coord_trans_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Images/truss.d/coord_trans_1.png -------------------------------------------------------------------------------- /Lessons/Images/truss.d/coord_trans_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Images/truss.d/coord_trans_2.png -------------------------------------------------------------------------------- /Lessons/Images/truss.d/elem_vec_length.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Images/truss.d/elem_vec_length.png -------------------------------------------------------------------------------- /Lessons/Images/truss.d/ex4-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Images/truss.d/ex4-1.png -------------------------------------------------------------------------------- /Lessons/Images/truss.d/ex4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Images/truss.d/ex4.png -------------------------------------------------------------------------------- /Lessons/Images/truss.d/force_lgcoords.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Images/truss.d/force_lgcoords.png -------------------------------------------------------------------------------- /Lessons/Images/truss.d/normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Images/truss.d/normal.png -------------------------------------------------------------------------------- /Lessons/Images/truss.d/plane_truss_ex.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Images/truss.d/plane_truss_ex.jpg -------------------------------------------------------------------------------- /Lessons/Images/truss.d/truss_axial.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Images/truss.d/truss_axial.png -------------------------------------------------------------------------------- /Lessons/Images/truss.d/truss_ex_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Images/truss.d/truss_ex_0.png -------------------------------------------------------------------------------- /Lessons/Images/truss.d/truss_ex_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Images/truss.d/truss_ex_1.png -------------------------------------------------------------------------------- /Lessons/Images/truss.d/truss_ex_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Images/truss.d/truss_ex_2.png -------------------------------------------------------------------------------- /Lessons/Images/truss.d/truss_ex_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Images/truss.d/truss_ex_3.png -------------------------------------------------------------------------------- /Lessons/Images/truss.d/truss_ex_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Images/truss.d/truss_ex_4.png -------------------------------------------------------------------------------- /Lessons/Images/truss.d/truss_ex_5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Images/truss.d/truss_ex_5.jpg -------------------------------------------------------------------------------- /Lessons/Images/truss.d/truss_opening.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Images/truss.d/truss_opening.jpg -------------------------------------------------------------------------------- /Lessons/Images/truss.d/truss_or_frame.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Images/truss.d/truss_or_frame.png -------------------------------------------------------------------------------- /Lessons/Images/truss.d/u_lgcoords.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Images/truss.d/u_lgcoords.png -------------------------------------------------------------------------------- /Lessons/Images/truss.d/unit_vec.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Images/truss.d/unit_vec.png -------------------------------------------------------------------------------- /Lessons/Images/variational.d/intro.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Images/variational.d/intro.png -------------------------------------------------------------------------------- /Lessons/Images/weak.d/continuity.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Images/weak.d/continuity.png -------------------------------------------------------------------------------- /Lessons/Images/weak.d/intro-pic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Images/weak.d/intro-pic.png -------------------------------------------------------------------------------- /Lessons/Images/weak.d/problem_disc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Images/weak.d/problem_disc.png -------------------------------------------------------------------------------- /Lessons/Images/weak.d/table-of-apps.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Images/weak.d/table-of-apps.png -------------------------------------------------------------------------------- /Lessons/Images/weighted-res.d/tapered_bar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Images/weighted-res.d/tapered_bar.png -------------------------------------------------------------------------------- /Lessons/Images/weighted-res.d/vproj.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Images/weighted-res.d/vproj.png -------------------------------------------------------------------------------- /Lessons/Images/weighted-res.d/wire-ex.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Images/weighted-res.d/wire-ex.png -------------------------------------------------------------------------------- /Lessons/Images/wundy.d/axisymm_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Images/wundy.d/axisymm_1.png -------------------------------------------------------------------------------- /Lessons/Images/wundy.d/elem_e.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Images/wundy.d/elem_e.png -------------------------------------------------------------------------------- /Lessons/Images/wundy.d/fluid_ex_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Images/wundy.d/fluid_ex_1.png -------------------------------------------------------------------------------- /Lessons/Images/wundy.d/heat_ex_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Images/wundy.d/heat_ex_1.png -------------------------------------------------------------------------------- /Lessons/Images/wundy.d/heat_ex_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Images/wundy.d/heat_ex_2.png -------------------------------------------------------------------------------- /Lessons/Images/wundy.d/solid_ex_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Images/wundy.d/solid_ex_1.png -------------------------------------------------------------------------------- /Lessons/Images/wundy.d/solid_ex_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Images/wundy.d/solid_ex_2.png -------------------------------------------------------------------------------- /Lessons/Images/wundy.d/three_el_ex.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Images/wundy.d/three_el_ex.png -------------------------------------------------------------------------------- /Lessons/Images/wundy.d/wire_ex_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Images/wundy.d/wire_ex_1.png -------------------------------------------------------------------------------- /Lessons/Images/wundy.d/wire_ex_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Images/wundy.d/wire_ex_2.png -------------------------------------------------------------------------------- /Lessons/Images/wundy.d/wire_ex_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Images/wundy.d/wire_ex_3.png -------------------------------------------------------------------------------- /Lessons/Lesson01_IPythonNotebookTutorial.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Lesson01_IPythonNotebookTutorial.ipynb -------------------------------------------------------------------------------- /Lessons/Lesson02_IntroductionToPython.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Lesson02_IntroductionToPython.ipynb -------------------------------------------------------------------------------- /Lessons/Lesson03_DirectMethods.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Lesson03_DirectMethods.ipynb -------------------------------------------------------------------------------- /Lessons/Lesson04_PlaneTruss.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Lesson04_PlaneTruss.ipynb -------------------------------------------------------------------------------- /Lessons/Lesson05_StrongForm.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Lesson05_StrongForm.ipynb -------------------------------------------------------------------------------- /Lessons/Lesson06_VariationalForms.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Lesson06_VariationalForms.ipynb -------------------------------------------------------------------------------- /Lessons/Lesson07_TheWeakForm.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Lesson07_TheWeakForm.ipynb -------------------------------------------------------------------------------- /Lessons/Lesson08_DerivationOf1DEquations.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Lesson08_DerivationOf1DEquations.ipynb -------------------------------------------------------------------------------- /Lessons/Lesson09_ExamplesIn1D.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Lesson09_ExamplesIn1D.ipynb -------------------------------------------------------------------------------- /Lessons/Lesson10_NumericalIntegration.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Lesson10_NumericalIntegration.ipynb -------------------------------------------------------------------------------- /Lessons/Lesson11_HigherOrderShapeFuncs.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Lesson11_HigherOrderShapeFuncs.ipynb -------------------------------------------------------------------------------- /Lessons/Lesson12_ThermalConvection.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Lesson12_ThermalConvection.ipynb -------------------------------------------------------------------------------- /Lessons/Lesson13_AdvectionDiffusion.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Lesson13_AdvectionDiffusion.ipynb -------------------------------------------------------------------------------- /Lessons/Lesson14_NonlinearMaterials.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Lesson14_NonlinearMaterials.ipynb -------------------------------------------------------------------------------- /Lessons/Lesson15_ErrorAnalysis.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Lesson15_ErrorAnalysis.ipynb -------------------------------------------------------------------------------- /Lessons/Lesson16_MethodOfManufacturedSolutions.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Lesson16_MethodOfManufacturedSolutions.ipynb -------------------------------------------------------------------------------- /Lessons/Lesson17_EulerBernouliBeamElement.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Lesson17_EulerBernouliBeamElement.ipynb -------------------------------------------------------------------------------- /Lessons/Lesson20_GeneralizedBoundaryConditions.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/Lesson20_GeneralizedBoundaryConditions.ipynb -------------------------------------------------------------------------------- /Lessons/MathematicalPreliminaries.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/MathematicalPreliminaries.ipynb -------------------------------------------------------------------------------- /Lessons/styles/538.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/styles/538.json -------------------------------------------------------------------------------- /Lessons/styles/custom2.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/styles/custom2.css -------------------------------------------------------------------------------- /Lessons/styles/custom3.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/styles/custom3.css -------------------------------------------------------------------------------- /Lessons/theme.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/Lessons/theme.py -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/README.md -------------------------------------------------------------------------------- /__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/uniformbar.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/apps/uniformbar.py -------------------------------------------------------------------------------- /bin/ini.csh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/bin/ini.csh -------------------------------------------------------------------------------- /bin/ini.sh: -------------------------------------------------------------------------------- 1 | d=`pwd -P` 2 | D=`dirname $d` 3 | export PYTHONPATH=$D 4 | 5 | -------------------------------------------------------------------------------- /bin/viewer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/bin/viewer.py -------------------------------------------------------------------------------- /femlib/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/femlib/__init__.py -------------------------------------------------------------------------------- /femlib/bc.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/femlib/bc.py -------------------------------------------------------------------------------- /femlib/constants.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/femlib/constants.py -------------------------------------------------------------------------------- /femlib/data.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/femlib/data.py -------------------------------------------------------------------------------- /femlib/element.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/femlib/element.py -------------------------------------------------------------------------------- /femlib/fileio/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/femlib/fileio/__init__.py -------------------------------------------------------------------------------- /femlib/fileio/_netcdf.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/femlib/fileio/_netcdf.py -------------------------------------------------------------------------------- /femlib/fileio/dbx.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/femlib/fileio/dbx.py -------------------------------------------------------------------------------- /femlib/fileio/exodus.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/femlib/fileio/exodus.py -------------------------------------------------------------------------------- /femlib/funspace.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/femlib/funspace.py -------------------------------------------------------------------------------- /femlib/ifem.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/femlib/ifem.py -------------------------------------------------------------------------------- /femlib/mesh.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/femlib/mesh.py -------------------------------------------------------------------------------- /femlib/numerix.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/femlib/numerix.py -------------------------------------------------------------------------------- /femlib/shapefun.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/femlib/shapefun.py -------------------------------------------------------------------------------- /femlib/solvers.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/femlib/solvers.py -------------------------------------------------------------------------------- /femlib/test.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/femlib/test.py -------------------------------------------------------------------------------- /femlib/unit_tests.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/femlib/unit_tests.py -------------------------------------------------------------------------------- /viewer/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/viewer/__init__.py -------------------------------------------------------------------------------- /viewer/_ipane.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/viewer/_ipane.py -------------------------------------------------------------------------------- /viewer/_plot.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/viewer/_plot.py -------------------------------------------------------------------------------- /viewer/_viewer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/viewer/_viewer.py -------------------------------------------------------------------------------- /viewer/icon/analytic-expr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/viewer/icon/analytic-expr.png -------------------------------------------------------------------------------- /viewer/icon/camera.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/viewer/icon/camera.png -------------------------------------------------------------------------------- /viewer/icon/color-points.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/viewer/icon/color-points.png -------------------------------------------------------------------------------- /viewer/icon/field.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/viewer/icon/field.png -------------------------------------------------------------------------------- /viewer/icon/file.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/viewer/icon/file.png -------------------------------------------------------------------------------- /viewer/icon/frame-first.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/viewer/icon/frame-first.png -------------------------------------------------------------------------------- /viewer/icon/frame-last.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/viewer/icon/frame-last.png -------------------------------------------------------------------------------- /viewer/icon/frame-next.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/viewer/icon/frame-next.png -------------------------------------------------------------------------------- /viewer/icon/frame-previous.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/viewer/icon/frame-previous.png -------------------------------------------------------------------------------- /viewer/icon/plot-contour-deformed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/viewer/icon/plot-contour-deformed.png -------------------------------------------------------------------------------- /viewer/icon/plot-contour-undeformed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/viewer/icon/plot-contour-undeformed.png -------------------------------------------------------------------------------- /viewer/icon/plot-deformed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/viewer/icon/plot-deformed.png -------------------------------------------------------------------------------- /viewer/icon/plot-scale.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/viewer/icon/plot-scale.png -------------------------------------------------------------------------------- /viewer/icon/plot-undeformed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/viewer/icon/plot-undeformed.png -------------------------------------------------------------------------------- /viewer/icon/plot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/viewer/icon/plot.png -------------------------------------------------------------------------------- /viewer/icon/print.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/viewer/icon/print.png -------------------------------------------------------------------------------- /viewer/icon/view-fit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/viewer/icon/view-fit.png -------------------------------------------------------------------------------- /viewer/icon/zoom-rect.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjfulle/fem-with-python/HEAD/viewer/icon/zoom-rect.png --------------------------------------------------------------------------------