Why do we study composites?

Whether or not we make a conscious notice of them, composites are all around us, from materials in our own bodies (e.g., bones and teeth) to most of the objects in our everyday use (wood, concrete, ceramics, even some chocolates). Composites are made in specific ways combining two or more materials (at larger-than-atomic length scales), each contributing beneficial properties so that the resulting composite of the two ingredient materials exhibits an optimized set of properties that are otherwise complementary, for example, strength and ductility. This is the usual answer one would normally hear when you ask a materials scientist. Here is a more intriguing, and perhaps a more philosophical, answer given by Graeme Milton in the book The Theory of Composites:

“… a second, equally important reason is that what we learn from the field of composites could have far-reaching implications in many fields of science. Significant progress in improving our understanding of how microscopic behavior influence macroscopic behavior could impact our understanding of turbulence, of phase transitions involving many length scales, of how quantum behavior influences behavior on classical length scales, or, at the more extreme level, of how behavior on the Plank length scale influences behavior on the atomic scale.”

While the transfer of tactics from the understandings of macroscopic-microscopic thermomechanical behavior to the classical-quantum behavior may seem unlikely, he argues in favor saying “… it is hard to deny the impact that our understanding of classical physics had on the development of quantum mechanics. Therefore, it is conceivable that a better understanding of classical questions involving multiple length scales could have large reverberations.”

Inventor of C language passed away…

The creator of C programming language and developer of Unix Dennis Ritchie had passed away last week-end. Another great man less…

His invention powers the huge software that runs flights to cars today. He did not invent a consumer product like Stevejobs, but invented the software that made his MacOS and Linux.

Tributes the the great man!

multiple y-axes with spines

Source: http://matplotlib.sourceforge.net/examples/pylab_examples/multiple_yaxis_with_spines.html



import matplotlib.pyplot as plt

def make_patch_spines_invisible(ax):
    par2.set_frame_on(True)
    par2.patch.set_visible(False)
    for sp in par2.spines.itervalues():
        sp.set_visible(False)

def make_spine_invisible(ax, direction):
    if direction in ["right", "left"]:
        ax.yaxis.set_ticks_position(direction)
        ax.yaxis.set_label_position(direction)
    elif direction in ["top", "bottom"]:
        ax.xaxis.set_ticks_position(direction)
        ax.xaxis.set_label_position(direction)
    else:
        raise ValueError("Unknown Direction : %s" % (direction,))

    ax.spines[direction].set_visible(True)

if 1:
    fig = plt.figure(1)

    host = fig.add_subplot(111)

    host.set_xlabel("Distance")

    par1 = host.twinx()
    par2 = host.twinx()

    par2.spines["right"].set_position(("axes", 1.2))
    make_patch_spines_invisible(par2)
    make_spine_invisible(par2, "right")

    plt.subplots_adjust(right=0.75)

    p1, = host.plot([0, 1, 2], [0, 1, 2], "b-", label="Density")
    p2, = par1.plot([0, 1, 2], [0, 3, 2], "r-", label="Temperature")
    p3, = par2.plot([0, 1, 2], [50, 30, 15], "g-", label="Velocity")

    host.set_xlim(0, 2)
    host.set_ylim(0, 2)
    par1.set_ylim(0, 4)
    par2.set_ylim(1, 65)

    host.set_xlabel("Distance")
    host.set_ylabel("Density")
    par1.set_ylabel("Temperature")
    par2.set_ylabel("Velocity")

    host.yaxis.label.set_color(p1.get_color())
    par1.yaxis.label.set_color(p2.get_color())
    par2.yaxis.label.set_color(p3.get_color())

    tkw = dict(size=4, width=1.5)
    host.tick_params(axis='y', colors=p1.get_color(), **tkw)
    par1.tick_params(axis='y', colors=p2.get_color(), **tkw)
    par2.tick_params(axis='y', colors=p3.get_color(), **tkw)
    host.tick_params(axis='x', **tkw)

    lines = [p1, p2, p3]
    host.legend(lines, [l.get_label() for l in lines])
    plt.show()

Telugu localization of OS

Aim

Improve the current status of telugu localization in Linux.

Below are some commonly encountered English words in Ubuntu along with some set of proposed translations. Please suggest better alternatives. The aim of translations is

(0) simplicity, extent of familiarity for a large number of people

(1) should be contemporary language understandable by a villager

(2) need not be pure telugu to allow common people (not seriously trained in english, e.g.dropouts from primary/secondary schools who can read telugu and use telugised-english words) to understand and use.

(3) should prefer a translation in the context of computer messages/menus rather than the exact translation.

(4) words currently under use in official documentation (so that offices will be willing to change from M$ Windows)

(5) make least changes to the currently available telugu translations in debian/ubuntu.

File: దస్త్రము, ఫైలు
Open: తెరువుము
close: మూయుము
Edit: కూర్పు, సరిచేయు
View: దర్శించు
History: చరిత్ర
Bookmarks: పుటగుర్తులు
Favorites: అభీష్టములు, ఇష్టాంశములు
Tools: పరికరములు, ఉపకరణములు, పనిముట్లు
Help: సహాయం
save: భద్రపరచు
save as: ఇలా భద్రపరచు
Print: ముద్రణ, ముద్రించు
printer: ముద్రణాయంత్రము
new: క్రొత్త
Tab: టేబు
link: లింకు
import: దిగుమతి
export: ఎగుమతి
online : ఆన్‌లైను
offline: ఆఫ్‌లైను
preview: పూర్వదర్శనం
cancel: రద్దుచేయు
cut: కత్తిరించు
copy: నకలు (తీయు)
paste: అతుకుము
delete: తొలగించుము
find: కనుగొనుము
find again: మరలా కనుగొనుము
again: మరల(లా)
preferences: ప్రాధాన్యతలు
stop: నిలువుము, నిలుపుము
start: ప్రారంభించుము
restart: పునః ప్రారంభించుము
shutdown: మూసివేయుము
public: సామూహిక
private: వ్యక్తిగత
search: శోధన, అన్వేషణ
click: క్లిక్ చేయి
today: నేడు, ఈనాడు, ఈరోజు
tomorrow: రేపు
yesterday: నిన్న
day: రోజు, పగలు
information: సమాచారం
font: అక్షరరూపం
gathering: సేకరించు
alternate, alternative: ప్రత్యామ్న్యాయ(ము)
scroll/scrolling: దొర్లింపుము/దొర్లింపుట/దొర్లించుచున్న
restrict: అనుమతించబడని/పరిమితమైన
restriction: పరిమితి
allow(ed): అనుమతించు(చబడిన)
provide: సమకూర్చు
settings: అమరికలు
define: నిర్వచించు
definition: నిర్వచనము
use: ఉపయోగించు
user: వినియోగదారుడు
background: పూర్వతలము
foreground: ఉపరితలము
theme:
true: సత్యము
false: అసత్యము
terminal: టెర్మినలు
whether: అయినచో, అయినయెడల
keystroke: మీటసంకేతము
task: కార్యము, పని
taskbar: కార్యములపట్టీ
entry: ప్రవేశము, ప్రవేశిక
run:
command: ఆదేశము
speak: ఉచ్చరించుము
custom: స్వాభీష్ట
update:

load: ఎక్కించు

table: పట్టిక

set: పొందుపరచు

expose: బహిర్గతపరచు

highlight: ప్రాముఖ్యపరుచు

publish: ప్రచురించు

public: సార్వజనీన, సర్వజన

private: వ్యక్తిగత

Adding modifying physics in COMSOL

I am having trouble tracking down a reference for how to enter a matrix into the “Elasticity matrix” text field for a material I am defining. Can anyone tell me what the correct syntax is?

http://www.comsol.com/community/forums/general/thread/11843/

——————

How to implement a specific hardening function for an elastoplastic material?

http://www.comsol.com/community/forums/general/thread/10741/

——————-

General COMSOL tips

In the following some interesting questions and answers from COMSOL forum are collected here for a quick review.

General

Is there a way to check a model before running the analysis?
It seems that it is quite easy to forget something basic like specifying a material property. The analysis will still process but then generate an error.

http://www.comsol.com/community/forums/general/thread/7457/

——————-

Running COMSOL scripts in the background using MATLAB interface

comsol server </dev/null > /dev/null &
matlab -nodesktop -nosplash -r myfile

instead of simply “comsol server &” then the server process is not stopped and you can run matlab, connect to comsol server, and run your .m script, without any user-intervention nor need for X support. Also, the comsol server exits when running ModelUtil.disconnect in Matlab, so I don’t leave any process on the compute node.

Tip: Batch calculations with Matlab + Comsol 4.0a

http://www.comsol.com/community/forums/general/thread/9299/

——————-

How to recover your work from an interrupted simulation

This knowledgebase describes how to benefit from the recovery feature in COMSOL 4.1 and later. This is particularly useful if you have a long computation that for some reason was interrupted at some point, maybe due to system instability, or a network problem or power outage.

You can retrieve data that might have been saved by the automatic recovery feature.

  1. Select File->Open Recovery File and open the file with correct date.
  2. Save the file as a new file.
  3. In the new file, you should be able to right-click Study and select Continue instead of Compute in
    order to continue the solution process.

You can turn off the recovery feature in Options->Preferences->Save. Clear the Save recovery file checkbox. It is checked by default.

http://www.comsol.com/support/knowledgebase/1112/